Browse Source

Fix #2544 (#2605)

* Fix #2544 - Validação acompanhamento matéria

* Fix #2544 - Validação acompanhamento documento
pull/2601/head
João Rodrigues 6 years ago
committed by Edward Ribeiro
parent
commit
bca953e30f
  1. 10
      sapl/materia/forms.py
  2. 39
      sapl/materia/views.py
  3. 10
      sapl/protocoloadm/forms.py
  4. 39
      sapl/protocoloadm/views.py
  5. 1
      sapl/templates/materia/acompanhamento_materia.html
  6. 1
      sapl/templates/protocoloadm/acompanhamento_documento.html

10
sapl/materia/forms.py

@ -340,16 +340,14 @@ class AcompanhamentoMateriaForm(ModelForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
row1 = to_row([('email', 10)]) row1 = to_row([('email', 12)])
row1.append(
Column(form_actions(label='Cadastrar'), css_class='col-md-2')
)
self.helper = SaplFormHelper() self.helper = SaplFormHelper()
self.helper.layout = Layout( self.helper.layout = Layout(
Fieldset( 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) super(AcompanhamentoMateriaForm, self).__init__(*args, **kwargs)

39
sapl/materia/views.py

@ -1930,19 +1930,50 @@ class AcompanhamentoMateriaView(CreateView):
confirmar o acompanhamento desta matéria.') confirmar o acompanhamento desta matéria.')
messages.add_message(request, messages.SUCCESS, msg) 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 # Caso esse Acompanhamento já exista
# avisa ao usuário que essa matéria já está sendo acompanhada # avisa ao usuário que essa matéria já está sendo acompanhada
else: else:
self.logger.debug("user=" + usuario.username + self.logger.debug("user=" + usuario.username +
". Este e-mail já está acompanhando essa matéria.") ". Este e-mail já está acompanhando essa matéria.")
msg = _('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( return self.render_to_response(
{'form': form, {'form': form,
'materia': materia, 'materia': materia
'error': _('Essa matéria já está\ })
sendo acompanhada por este e-mail.')})
return HttpResponseRedirect(self.get_success_url()) return HttpResponseRedirect(self.get_success_url())
else: else:
return self.render_to_response( return self.render_to_response(

10
sapl/protocoloadm/forms.py

@ -52,16 +52,14 @@ class AcompanhamentoDocumentoForm(ModelForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
row1 = to_row([('email', 10)]) row1 = to_row([('email', 12)])
row1.append(
Column(form_actions(label='Cadastrar'), css_class='col-md-2')
)
self.helper = SaplFormHelper() self.helper = SaplFormHelper()
self.helper.layout = Layout( self.helper.layout = Layout(
Fieldset( Fieldset(
_('Acompanhamento de Documento por e-mail'), row1 _('Acompanhamento de Documento por e-mail'),
row1,
form_actions(label='Cadastrar')
) )
) )
super(AcompanhamentoDocumentoForm, self).__init__(*args, **kwargs) super(AcompanhamentoDocumentoForm, self).__init__(*args, **kwargs)

39
sapl/protocoloadm/views.py

@ -243,7 +243,7 @@ class AcompanhamentoDocumentoView(CreateView):
"documento", "documento",
documento, documento,
destinatario) destinatario)
self.logger.info('user={} .Foi enviado um e-mail de confirmação. Confira sua caixa ' self.logger.info('user={}. Foi enviado um e-mail de confirmação. Confira sua caixa '
'de mensagens e clique no link que nós enviamos para ' 'de mensagens e clique no link que nós enviamos para '
'confirmar o acompanhamento deste documento.'.format(usuario.username)) 'confirmar o acompanhamento deste documento.'.format(usuario.username))
msg = _('Foi enviado um e-mail de confirmação. Confira sua caixa \ msg = _('Foi enviado um e-mail de confirmação. Confira sua caixa \
@ -251,19 +251,50 @@ class AcompanhamentoDocumentoView(CreateView):
confirmar o acompanhamento deste documento.') confirmar o acompanhamento deste documento.')
messages.add_message(request, messages.SUCCESS, msg) 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 = AcompanhamentoDocumento.objects.get(
documento=documento,
email=email,
confirmado=False
)
casa = CasaLegislativa.objects.first()
do_envia_email_confirmacao(base_url,
casa,
"documento",
documento,
destinatario)
self.logger.info('user={}. 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 deste documento.'.format(usuario.username))
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 deste documento.')
messages.add_message(request, messages.SUCCESS, msg)
# Caso esse Acompanhamento já exista # Caso esse Acompanhamento já exista
# avisa ao usuário que esse documento já está sendo acompanhado # avisa ao usuário que esse documento já está sendo acompanhado
else: else:
self.logger.info('user=' + request.user.username + self.logger.info('user=' + request.user.username +
'. Este e-mail já está acompanhando esse documento (pk={}).'.format(pk)) '. Este e-mail já está acompanhando esse documento (pk={}).'.format(pk))
msg = _('Este e-mail já está acompanhando esse documento.') msg = _('Este e-mail já está acompanhando esse documento.')
messages.add_message(request, messages.INFO, msg) messages.add_message(request, messages.ERROR, msg)
return self.render_to_response( return self.render_to_response(
{'form': form, {'form': form,
'documento': documento, 'documento': documento,
'error': _('Esse documento já está\ })
sendo acompanhada por este e-mail.')})
return HttpResponseRedirect(self.get_success_url()) return HttpResponseRedirect(self.get_success_url())
else: else:
return self.render_to_response( return self.render_to_response(

1
sapl/templates/materia/acompanhamento_materia.html

@ -16,6 +16,5 @@
<div class="col-md-12"><b>Ementa:</b> {{materia.ementa|safe}}</div> <div class="col-md-12"><b>Ementa:</b> {{materia.ementa|safe}}</div>
</div> </div>
{% if error %} <h5 align="center"><font color="#FF0000">{{ error }}</font></h5> {% endif %}
{% crispy form %} {% crispy form %}
{% endblock %} {% endblock %}

1
sapl/templates/protocoloadm/acompanhamento_documento.html

@ -16,6 +16,5 @@
<div class="col-md-12"><b>Assunto:</b> {{documento.assunto|safe}}</div> <div class="col-md-12"><b>Assunto:</b> {{documento.assunto|safe}}</div>
</div> </div>
{% if error %} <h5 align="center"><font color="#FF0000">{{ error }}</font></h5> {% endif %}
{% crispy form %} {% crispy form %}
{% endblock %} {% endblock %}

Loading…
Cancel
Save