From 1fa9de65df00e23ed8a1899d8249d2ffd1133c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Rodrigues?= Date: Tue, 12 Mar 2019 18:10:49 -0300 Subject: [PATCH] =?UTF-8?q?Fix=20#2544=20-=20Valida=C3=A7=C3=A3o=20acompan?= =?UTF-8?q?hamento=20mat=C3=A9ria?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/materia/forms.py | 10 ++--- sapl/materia/views.py | 39 +++++++++++++++++-- .../materia/acompanhamento_materia.html | 1 - 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index eb84ed4d4..512fc4f2e 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -340,16 +340,14 @@ class AcompanhamentoMateriaForm(ModelForm): def __init__(self, *args, **kwargs): - row1 = to_row([('email', 10)]) - - row1.append( - Column(form_actions(label='Cadastrar'), css_class='col-md-2') - ) + row1 = to_row([('email', 12)]) self.helper = SaplFormHelper() self.helper.layout = Layout( Fieldset( - _('Acompanhamento de Matéria por e-mail'), row1 + _('Acompanhamento de Matéria por e-mail'), + row1, + form_actions(label='Cadastrar') ) ) super(AcompanhamentoMateriaForm, self).__init__(*args, **kwargs) diff --git a/sapl/materia/views.py b/sapl/materia/views.py index aa4d49575..fc56b2953 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -1922,19 +1922,50 @@ class AcompanhamentoMateriaView(CreateView): confirmar o acompanhamento desta matéria.') messages.add_message(request, messages.SUCCESS, msg) + # Se o elemento existir e o email não foi confirmado: + # gerar novo hash e reenviar mensagem de email + elif not acompanhar[0].confirmado: + acompanhar = acompanhar[0] + acompanhar.hash = hash_txt + acompanhar.save() + + base_url = get_base_url(request) + + destinatario = AcompanhamentoMateria.objects.get( + materia=materia, + email=email, + confirmado=False + ) + + casa = CasaLegislativa.objects.first() + + do_envia_email_confirmacao(base_url, + casa, + "materia", + materia, + destinatario) + + self.logger.debug('user=' + usuario.username + '. Foi enviado um e-mail de confirmação. Confira sua caixa \ + de mensagens e clique no link que nós enviamos para \ + confirmar o acompanhamento desta matéria.') + + msg = _('Foi enviado um e-mail de confirmação. Confira sua caixa \ + de mensagens e clique no link que nós enviamos para \ + confirmar o acompanhamento desta matéria.') + messages.add_message(request, messages.SUCCESS, msg) + # Caso esse Acompanhamento já exista # avisa ao usuário que essa matéria já está sendo acompanhada else: self.logger.debug("user=" + usuario.username + ". Este e-mail já está acompanhando essa matéria.") msg = _('Este e-mail já está acompanhando essa matéria.') - messages.add_message(request, messages.INFO, msg) + messages.add_message(request, messages.ERROR, msg) return self.render_to_response( {'form': form, - 'materia': materia, - 'error': _('Essa matéria já está\ - sendo acompanhada por este e-mail.')}) + 'materia': materia + }) return HttpResponseRedirect(self.get_success_url()) else: return self.render_to_response( diff --git a/sapl/templates/materia/acompanhamento_materia.html b/sapl/templates/materia/acompanhamento_materia.html index d22e90e61..90c5929bf 100644 --- a/sapl/templates/materia/acompanhamento_materia.html +++ b/sapl/templates/materia/acompanhamento_materia.html @@ -16,6 +16,5 @@
Ementa: {{materia.ementa|safe}}
-{% if error %}
{{ error }}
{% endif %} {% crispy form %} {% endblock %}