From e8adf8059d9c00f6c8621beef8899486e087e6e7 Mon Sep 17 00:00:00 2001 From: Eduardo Edson Batista Cordeiro Alves Date: Wed, 30 Sep 2015 16:10:22 -0300 Subject: [PATCH] Validate votacao materiaordemdia --- sessao/views.py | 28 +++++++++++++++++--- templates/sessao/votacao/votacao.html | 38 +++++++-------------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/sessao/views.py b/sessao/views.py index 3285624f1..9d11ce482 100644 --- a/sessao/views.py +++ b/sessao/views.py @@ -1318,7 +1318,6 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView): def get(self, request, *args, **kwargs): self.object = self.get_object() context = self.get_context_data(object=self.object) - url = request.get_full_path() # TODO: HACK, VERIFICAR MELHOR FORMA DE FAZER ISSO @@ -1345,6 +1344,27 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView): self.object = self.get_object() form = VotacaoForm(request.POST) context = self.get_context_data(object=self.object) + url = request.get_full_path() + + # ==================================================== + if "votsimb" in url: + titulo = "Votação Simbólica" + elif "votsec" in url: + titulo = "Votação Secreta" + else: + titulo = "Não definida" + + ordem_id = kwargs['mid'] + ordem = OrdemDia.objects.get(id=ordem_id) + qtde_presentes = PresencaOrdemDia.objects.filter( + sessao_plenaria_id=self.object.id).count() + + materia = {'materia': ordem.materia, 'ementa': ordem.observacao} + context.update({'votacao_titulo': titulo, + 'materia': materia, + 'total_presentes': qtde_presentes}) + context.update({'form': form}) + # ==================================================== if form.is_valid(): materia_id = kwargs['oid'] @@ -1360,8 +1380,8 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView): qtde_presentes -= 1 if (qtde_votos > qtde_presentes or qtde_votos < qtde_presentes): - form._errors["total_votos"] = ErrorList([u"aaaaa"]) - return self.form_invalid(form) + form._errors["total_votos"] = ErrorList([u""]) + return self.render_to_response(context) elif (qtde_presentes == qtde_votos): try: votacao = RegistroVotacao() @@ -1387,7 +1407,7 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView): return self.form_valid(form) else: - return self.form_invalid(form) + return self.render_to_response(context) def get_success_url(self): pk = self.kwargs['pk'] diff --git a/templates/sessao/votacao/votacao.html b/templates/sessao/votacao/votacao.html index 373b2189b..2447ef9f5 100644 --- a/templates/sessao/votacao/votacao.html +++ b/templates/sessao/votacao/votacao.html @@ -6,22 +6,25 @@ {% csrf_token %}
+ {{votacao_titulo}} + {% if form.errors %}

Os seguintes erros foram encontrados:

    {% for field in form %} - {% if field.label == 'total'%} -
  • O total de votos não corresponde com a quantidade de presentes!
  • - {% endif %} - {% if field.errors and not field.label == 'total' %} -
  • O campo {{field.label}} é obrigatório!
  • + {% if field.errors %} + {% if field.label == 'total'%} +
  • O total de votos não corresponde com a quantidade de presentes!
  • + {% else %} +
  • O campo {{field.label}} é obrigatório!
  • + {% endif %} {% endif %} {% endfor %}
{% endif %} - {{votacao_titulo}} +
Matéria: {{materia.materia|safe}}
@@ -70,26 +73,3 @@
{% endblock detail_content %} -{% block foot_js %} - -{% endblock %} \ No newline at end of file