From 1bcec8ade6fcd1ee156f65ffa21bee09916b3151 Mon Sep 17 00:00:00 2001 From: Eduardo Edson Batista Cordeiro Alves Date: Tue, 29 Sep 2015 17:14:02 -0300 Subject: [PATCH] =?UTF-8?q?Validade=20votes=20in=20vota=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sessao/views.py | 13 ++++---- templates/sessao/votacao/votacao.html | 45 +++++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 9 deletions(-) diff --git a/sessao/views.py b/sessao/views.py index bd29b703a..3285624f1 100644 --- a/sessao/views.py +++ b/sessao/views.py @@ -2,6 +2,7 @@ from datetime import datetime from re import sub from django import forms +from django.forms.util import ErrorList from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse from django.utils.html import strip_tags @@ -1220,9 +1221,10 @@ class ExplicacaoEdit(FormMixin, sessao_crud.CrudDetailView): class VotacaoForm(forms.Form): - votos_sim = forms.CharField(required=True) - votos_nao = forms.CharField(required=True) - abstencoes = forms.CharField(required=True) + votos_sim = forms.CharField(required=True, label='Sim') + votos_nao = forms.CharField(required=True, label='Não') + abstencoes = forms.CharField(required=True, label='Abstenções') + total_votos = forms.CharField(required=False, label='total') class VotacaoEdit(forms.Form): @@ -1342,6 +1344,7 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView): def post(self, request, *args, **kwargs): self.object = self.get_object() form = VotacaoForm(request.POST) + context = self.get_context_data(object=self.object) if form.is_valid(): materia_id = kwargs['oid'] @@ -1357,9 +1360,7 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView): qtde_presentes -= 1 if (qtde_votos > qtde_presentes or qtde_votos < qtde_presentes): - # context.update ({'error_message': - # 'A quantidade de votos e de - # presentes não correspondem.'}) + form._errors["total_votos"] = ErrorList([u"aaaaa"]) return self.form_invalid(form) elif (qtde_presentes == qtde_votos): try: diff --git a/templates/sessao/votacao/votacao.html b/templates/sessao/votacao/votacao.html index 24396df71..373b2189b 100644 --- a/templates/sessao/votacao/votacao.html +++ b/templates/sessao/votacao/votacao.html @@ -2,10 +2,25 @@ {% load i18n %} {% block detail_content %} -
+ {% csrf_token %}
+ {% 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!
  • + {% endif %} + {% endfor %} +
+
+ {% endif %} {{votacao_titulo}}
Matéria: {{materia.materia|safe}} @@ -14,6 +29,7 @@

Total presentes: {{total_presentes}} (com presidente) +

@@ -50,7 +66,30 @@

- +
-{% endblock detail_content %} \ No newline at end of file +{% endblock detail_content %} +{% block foot_js %} + +{% endblock %} \ No newline at end of file