====== Especificação Funcional: Email ======
===== Resumo =====
Funcionalidade responsável pelo envio de email aos usuários do School Web.
A Funcionalidade é composta pelos projetos:
====School Web ====
Responsável por armazenar as informações, Widgets e configuração do envio e email.
====EmailService====
Serviço responsável por monitorar e enviar os emails para os usuários baseado nas informações configuradas.
===== Campos =====
====Configuração do calendário====
|< 100% 19% 60% 7% 7% 7%>|
^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^
|**__Dados gerais__** |||||
|Nome | |Varchar |50 |Sim |
|Data inicio|Data início do calendário |Varchar | |Sim |
|Data Fim|Data fim do calendário |Inteiro | |Sim |
|Ativo|Se o calendário está ativo ou não |Inteiro | |Não |
=== Pontos de verificação ===
* O calendário cadastrado é válido para todas as entidades sincronizadas com o SchoolWeb;
* Para o envio de e-mail funcionar, o calendário cadastrado precisa está com o campo "Ativo" marcado;
* O envio de e-mail ocorrerá uma vez para o período informado no calendário ativo;
* Ao editar um calendário, somente é possível alterar a data de início e fim, e se está ativo. Caso o usuário altere o nome e salve um novo calendário será criado, tendo em vista que o campo "Nome" é chave primária.
* Somente um calendário pode está ativo;
* A data de início do calendário deve ser igual ou maior que a data atual.
* A data de término do calendário não pode ser menor que a data atual.
====Configuração do email====
|< 100% 19% 60% 7% 7% 7%>|
^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^
|**__Dados gerais__** |||||
|Código|Código do aluno ou usuário, alimentado por trigger tabaluno ou tabusuarios.|Varchar | |Sim |
|Entidade|Entidade do email.|Varchar | |Sim |
|Email|Email cadastrado no School Desktop.|Inteiro | |Sim |
|Ativo|Se o email está ativo ou não, a desativação pode ser feita pela configuração ou pela funcionalidade de cancelar recebimento no email que o usuário recebe.|Inteiro | |Não |
|Data Envio|Data do último envio de email|Inteiro. | |Não |
|Data Desativação|Data de desativação do email|Inteiro. | |Não |
|Perfil|Perfil do email.|Inteiro | |Não |
=== Pontos de verificação ===
* Deve exibir, quando informado no cadastro do aluno, a lista de e-mail dos alunos com situação igual a "Matriculado"
* E-mail do Pai do aluno;
* E-mail da Mãe do aluno;
* E-mail do Responsável pelo aluno;
* E-mail do Aluno;
* Deve exibir, quando informado no cadastro da escola, a lista de e-mail vinculada a ela:
* E-mail da escola;
* E-mail do Responsável pela escola (Diretor);
* Deve exibir, quando for informado no cadastro de Usuário do perfil Município no School Web;
* E-mail do usuário cadastrado no School Web;
* Deve exibir, quando informado no cadastro de usuário, o e-mail vinculada a ele;
* Deve registrar o horário e a data do envio do último e-mail;
* Deve permitir alterar somente se o usuário está ativo ou não;
* Deve registrar a data e horário que o usuário desativar o recebimento de e-mail;
* Permite o envio para o mesmo e-mail várias vezes, desde que esteja cadastrado em lugares diferentes.
===== Observações =====
Com as informações configuradas o serviço (EmailService) estará monitorando as configurações do servidor que foi instalado e se identificar algum calendário ativo enviará os emails para os códigos que serão alimentados na tabela email através de triggers na tabaluno e tabusarios.
O envio do email é realizada uma vez a cada calendário.