4.4 KiB
title, source, path
| title | source | path |
|---|---|---|
| Interceptando e personalizando o e-mail padrão (onNotify) | https://tdn.totvs.com/pages/viewpage.action?pageId=852912430 | \Plataforma Documentação técnica\Personalização\Personalização de e-mail\Interceptando e personalizando o e-mail padrão (onNotify).md |
Índice
- 1 Introdução
- 2 Sintaxe
- 3 Parâmetros
- 4 Exemplos
Introdução
Diversos e-mails são disparados no Fluig, variando de notificações simples a alertas urgentes. O onNotify é um [evento global](../../Desenvolvimento sobre a plataforma/Desenvolvimento de Eventos.md) do Fluig que pode ser criado para interceptar notificações padrão do Fluig, permitindo alterações ou a geração de logs.
Sintaxe
funcion onNotify(subject, receivers, template, params) {
}
Parâmetros
subject
Uma lista de string que, quando adicionada algum item, modifica o assunto do e-mail para todos os destinatários. Apesar de ser uma lista, apenas o primeiro item da lista será considerado. Então, caso sejam adicionados dois assuntos, somente o primeiro item será usado.
receivers
Uma lista de Strings com os e-mails dos destinatários. Também é possível adicionar outros e-mails, de usuários do sistema ou mesmo e-mails externos, caso seja necessário notificar uma pessoa que não tenho acesso ao sistema.
template
Uma String contendo o código do template (ou tipo) de e-mail que está sendo enviado, permitindo que seja alterado apenas um tipo específico de e-mail. É recomendável que sempre seja verificado o código do template, para evitar que ocorram alterações em outros tipos de e-mail, que não necessitariam de personalização. Este parâmetro é fixo e alterações nele não mudaram o tipo de template a ser utilizado.
params
É um mapa de dados que permite alterar/incluir parâmetros para que sejam apresentados no e-mail. O nome dos parâmetros informados nesse mapa devem ser os mesmos que são utilizados dentro do arquivo de template.
Exemplos
Alterando o Assunto quando o e-mail for do tipo "Tarefa sob sua responsabilidade em atraso"
function onNotify(subject, receivers, template, params) {
if (template.equals("TPLOVERDUE_TASK_USER_RESPONSIBLE") != null) {
log.info("Modificando o assunto do e-mail para 'URGENTE: Uma tarefa que você é responsável está atrasada');
subject.add("URGENTE: Uma tarefa que você é responsável está atrasada");
}
}
Adicionando um destinatário quando o e-mail for do tipo "Notificação de nova atividade sob sua gerência"
function onNotify(subject, receivers, template, params) {
if (template.equals("TPLPROCESS_NEW_STATE_TO_MANAGER") != null) {
log.info("Adicionando o e-mail 'usuario@dominio.com' a lista de destinatários da notificação de 'Nova atividade sob sua gerência'");
receivers.add("usuario@dominio.com");
}
}
Adicionando um parâmetro o e-mail for do tipo "Solicitação cancelada"
function onNotify(subject, receivers, template, params) {
if (template.equals("TPLPROCESS_CANCELED") != null) {
log.info("Adicionando o parâmetro 'MEU_CAMPO' com o valor 'VALOR'");
params.put("MEU_CAMPO","VALOR");
}
}