[1349] | 1 | /* contém o e-mail padrão quando se envia somente um e-mail por usuário */ |
---|
| 2 | var workflowMonitorEmailUser = '<font color="#FF6666">Atenção: esta mensagem foi gerada automaticamente pelo sistema e não deve ser respondida.</font><br/><br/>\n\ |
---|
| 3 | \n\ |
---|
| 4 | Caro usuário,<br/>\n\ |
---|
| 5 | As seguintes atividades de workflow do processo <strong>%processo%</strong> estão aguardando execução em sua caixa de tarefas pendentes. Favor providenciar o andamento:<br/><br/>\n\ |
---|
| 6 | %inicio_loop%\n\ |
---|
| 7 | Instância %atual_instancia% de %quantidade_instancia%<br/>\n\ |
---|
| 8 | Atividade: %atividade%<br/>\n\ |
---|
| 9 | Aguardando por: %tempo_atividade% (desde %inicio_atividade%)<br/>\n\ |
---|
| 10 | Identificador: %identificador%<br/>\n\ |
---|
| 11 | Link para execução: %link%<br/>\n\ |
---|
| 12 | <br/><br/>\n\ |
---|
| 13 | %fim_loop%\n\ |
---|
| 14 | \n\ |
---|
| 15 | Atenciosamente,<br/>\n\ |
---|
| 16 | Workflow do Expresso'; |
---|
| 17 | |
---|
| 18 | /* contém o e-mail padrão quando se envia um e-mail por instância */ |
---|
| 19 | var workflowMonitorEmailInstance = '<font color="#FF6666">Atenção: esta mensagem foi gerada automaticamente pelo sistema e não deve ser respondida.</font><br/><br/>\n\ |
---|
| 20 | \n\ |
---|
| 21 | Caro usuário,<br/>\n\ |
---|
| 22 | Existe uma atividades de workflow do processo <strong>%processo%</strong> que está aguardando execução em sua caixa de tarefas pendentes. Favor providenciar o andamento:<br/><br/>\n\ |
---|
| 23 | \n\ |
---|
| 24 | Atividade: %atividade%<br/>\n\ |
---|
| 25 | Aguardando por: %tempo_atividade% (desde %inicio_atividade%)<br/>\n\ |
---|
| 26 | Identificador: %identificador%<br/>\n\ |
---|
| 27 | Link para execução: %link%<br/>\n\ |
---|
| 28 | <br/>\n\ |
---|
| 29 | \n\ |
---|
| 30 | Atenciosamente,<br/>\n\ |
---|
| 31 | Workflow do Expresso'; |
---|
| 32 | |
---|
| 33 | /** |
---|
| 34 | * Constrói a interface para envio de e-mails (dentro de um elemento LightBox) |
---|
| 35 | * @return void |
---|
| 36 | */ |
---|
| 37 | function sendMailConfig() |
---|
| 38 | { |
---|
| 39 | var content = ''; |
---|
| 40 | content += '<div id="emailCompose">'; |
---|
| 41 | content += '<h2>Enviar E-mail</h2>'; |
---|
| 42 | content += '<input type="radio" name="emailType" id="onePerUser" value="1" checked="true" onclick="$(\'emailBody\').value = workflowMonitorEmailUser;"/> <label for="onePerUser">Um e-mail por usuário</label>'; |
---|
| 43 | content += '<label><input type="radio" name="emailType" id="onePerInstance" value="1" onclick="$(\'emailBody\').value = workflowMonitorEmailInstance;"/> <label for="onePerInstance">Um e-mail por instância</label>'; |
---|
| 44 | content += '<br/><label>Assunto do E-mail <input type="text" id="emailSubject" value="Atividades de Workflow Pendentes" size="40"/></label>'; |
---|
| 45 | content += '<br/>Texto do E-mail:<br/><textarea style="width: 100%; height: 170px;" id="emailBody">' + workflowMonitorEmailUser + '</textarea>'; |
---|
| 46 | |
---|
| 47 | content += '<table style="width: 100%">'; |
---|
| 48 | content += '<tr><td style="width: 60%"></td>'; |
---|
| 49 | content += '<td>'; |
---|
| 50 | |
---|
| 51 | content += '<button onclick="previewEmail(); return false;">Preview</button>'; |
---|
| 52 | content += ' '; |
---|
| 53 | content += '<button onclick="sendMail(); return false;">Enviar</button>'; |
---|
| 54 | content += ' '; |
---|
| 55 | content += '<button onclick="valid.deactivate(); return false;">Cancelar</button>'; |
---|
| 56 | |
---|
| 57 | content += '</td>'; |
---|
| 58 | content += '</tr>'; |
---|
| 59 | content += '<tr>'; |
---|
| 60 | content += '<td colspan="2">'; |
---|
| 61 | |
---|
| 62 | content += '<table style="width: 100%">'; |
---|
| 63 | content += '<tr style="color: #FFFFFF; background-color: #000000; font-size: 11px;"><th>Variável</th><th>Significado</th></tr>'; |
---|
| 64 | content += '<tr><td>%atividade%</td><td>O nome da atividade atual</td></tr>' |
---|
| 65 | content += '<tr><td>%usuario%</td><td>O nome do usuário que está com a instância</td></tr>' |
---|
| 66 | content += '<tr><td>%processo%</td><td>O nome do processo</td></tr>' |
---|
| 67 | content += '<tr><td>%identificador%</td><td>O identificador da instância</td></tr>' |
---|
| 68 | content += '<tr><td>%tempo_atividade%</td><td>A duração (até o momento) da atividade atual</td></tr>' |
---|
| 69 | content += '<tr><td>%tempo_instancia%</td><td>A duração (até o momento) da instância</td></tr>' |
---|
| 70 | content += '<tr><td>%inicio_atividade%</td><td>O início da atividade atual</td></tr>' |
---|
| 71 | content += '<tr><td>%inicio_instancia%</td><td>O início da instância</td></tr>' |
---|
| 72 | content += '<tr><td>%quantidade_instancia%</td><td>A quantidade de instâncias com o usuário</td></tr>' |
---|
| 73 | content += '<tr><td>%atual_instancia%</td><td>A instância atual (número em relação à quantidade)</td></tr>' |
---|
| 74 | content += '<tr><td>%link%</td><td>Link para a execução da instância (abre em nova janela)</td></tr>' |
---|
| 75 | content += '<tr><td>%url%</td><td>Somente a URL para a execução da instância</td></tr>' |
---|
| 76 | content += '<tr><td>%prioridade%</td><td>A prioridade da instância</td></tr>' |
---|
| 77 | content += '</table>'; |
---|
| 78 | |
---|
| 79 | content += '</td>'; |
---|
| 80 | content += '</tr>'; |
---|
| 81 | content += '</table>'; |
---|
| 82 | content += '</div>'; |
---|
| 83 | |
---|
| 84 | content += '<div id="emailPreview" style="display: none;"></div>'; |
---|
| 85 | |
---|
| 86 | $('lbContent').innerHTML = content; |
---|
| 87 | // $('emailBody').innerHTML = workflowMonitorEmailUser; |
---|
| 88 | } |
---|
| 89 | |
---|
| 90 | /** |
---|
| 91 | * Gera uma string contento os parâmetros para as chamadas Ajax do envio de e-mails |
---|
| 92 | * @return string A string de parâmetros |
---|
| 93 | */ |
---|
| 94 | function commonParams() |
---|
| 95 | { |
---|
| 96 | var output = 'pid=' + workflowMonitorInstancesParams['pid']; |
---|
| 97 | |
---|
| 98 | output += '&p_page=0'; |
---|
| 99 | |
---|
| 100 | if (workflowMonitorInstancesParams['filters']) |
---|
| 101 | output += '&filters=' + workflowMonitorInstancesParams['filters']; |
---|
| 102 | |
---|
| 103 | return output; |
---|
| 104 | } |
---|
| 105 | |
---|
| 106 | /** |
---|
| 107 | * Envia os e-mails para as instâncias selecionadas |
---|
| 108 | * @return void |
---|
| 109 | */ |
---|
| 110 | function sendMail() |
---|
| 111 | { |
---|
| 112 | function resultSendMail(data) |
---|
| 113 | { |
---|
| 114 | if (data['error']) |
---|
| 115 | { |
---|
| 116 | alert(data['error']); |
---|
| 117 | return; |
---|
| 118 | } |
---|
| 119 | |
---|
| 120 | var content = ''; |
---|
| 121 | content += '<h2>Resultado de Envio</h2>'; |
---|
| 122 | content += '<br/><font color="#FF0000">Foram enviados ' + data + ' e-mails alertando sobre as instâncias.</font>' |
---|
| 123 | content += '<br/><br/><button onclick="valid.deactivate(); return false;">Fechar</button>'; |
---|
| 124 | $('lbContent').innerHTML = content; |
---|
| 125 | |
---|
| 126 | } |
---|
| 127 | |
---|
| 128 | if (!confirm('Este e-mail será enviado para todos os usuários listados na tela anterior.\nDeseja continuar?')) |
---|
| 129 | return; |
---|
| 130 | var params = commonParams(); |
---|
| 131 | params += '&emailType=' + (($F('onePerUser') == 1) ? 'user' : 'instance'); |
---|
| 132 | params += '&emailBody=' + escape($F('emailBody')); |
---|
| 133 | params += '&emailSubject=' + escape($F('emailSubject')); |
---|
| 134 | cExecute('$this.bo_monitors.sendMail', resultSendMail, params); |
---|
| 135 | } |
---|
| 136 | |
---|
| 137 | /** |
---|
| 138 | * Gera um preview dos e-mails que serão enviados |
---|
| 139 | * @return void |
---|
| 140 | */ |
---|
| 141 | function previewEmail() |
---|
| 142 | { |
---|
| 143 | function resultPreviewEmail(data) |
---|
| 144 | { |
---|
| 145 | if (data['error']) |
---|
| 146 | { |
---|
| 147 | alert(data['error']); |
---|
| 148 | return; |
---|
| 149 | } |
---|
| 150 | |
---|
| 151 | var content = '<h2>Preview</h2>'; |
---|
| 152 | content += '<p><strong>Número de e-mails que serão enviados:</strong> ' + data['emailCount'] + '</p>'; |
---|
| 153 | content += '<div style="background-color: #FFFFFF; border: 1px solid black; padding: 10px;">' + data['emailBody'] + '</div>'; |
---|
| 154 | content += '<br/><button onclick="$(\'emailPreview\').hide();$(\'emailCompose\').show()"; return false;>Fechar Preview</button>'; |
---|
| 155 | $('emailPreview').innerHTML = content; |
---|
| 156 | $('emailCompose').hide(); |
---|
| 157 | $('emailPreview').show(); |
---|
| 158 | } |
---|
| 159 | var params = commonParams(); |
---|
| 160 | params += '&emailType=' + (($F('onePerUser') == 1) ? 'user' : 'instance'); |
---|
| 161 | params += '&emailBody=' + escape($F('emailBody')); |
---|
| 162 | params += '&emailSubject=' + escape($F('emailSubject')); |
---|
| 163 | cExecute('$this.bo_monitors.previewEmail', resultPreviewEmail, params); |
---|
| 164 | } |
---|
| 165 | |
---|
| 166 | /** |
---|
| 167 | * Remove as instâncias finalizadas (completadas ou abortadas) que foram selecionadas |
---|
| 168 | * @return void |
---|
| 169 | */ |
---|
| 170 | function removeCompletedInstances() |
---|
| 171 | { |
---|
| 172 | function resultRemoveCompletedInstances(data) |
---|
| 173 | { |
---|
| 174 | if (data['error']) |
---|
| 175 | { |
---|
| 176 | alert(data['error']); |
---|
| 177 | return; |
---|
| 178 | } |
---|
| 179 | |
---|
| 180 | /* define a mensagem que será exibida */ |
---|
| 181 | var message = ''; |
---|
| 182 | if (data < 1) |
---|
| 183 | message = 'Nenhuma instância foi removida'; |
---|
| 184 | else |
---|
| 185 | if (data == 1) |
---|
| 186 | message = 'Uma instância foi removida'; |
---|
| 187 | else |
---|
| 188 | message = 'Foram removidas ' + data + ' instâncias'; |
---|
| 189 | write_msg(message); |
---|
| 190 | |
---|
| 191 | /* recarrega a lista de instâncias */ |
---|
| 192 | filterInstances(true); |
---|
| 193 | } |
---|
| 194 | |
---|
| 195 | if (!confirm('Todas as instâncias listadas nesta tela (inclusive as paginadas) serão removidas.\nDeseja continuar?')) |
---|
| 196 | return; |
---|
| 197 | var params = commonParams(); |
---|
| 198 | cExecute('$this.bo_monitors.removeCompletedInstances', resultRemoveCompletedInstances, params); |
---|
| 199 | } |
---|