Browse Source

Validade votes in votação

pull/7/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
1bcec8ade6
  1. 13
      sessao/views.py
  2. 43
      templates/sessao/votacao/votacao.html

13
sessao/views.py

@ -2,6 +2,7 @@ from datetime import datetime
from re import sub from re import sub
from django import forms from django import forms
from django.forms.util import ErrorList
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.html import strip_tags from django.utils.html import strip_tags
@ -1220,9 +1221,10 @@ class ExplicacaoEdit(FormMixin, sessao_crud.CrudDetailView):
class VotacaoForm(forms.Form): class VotacaoForm(forms.Form):
votos_sim = forms.CharField(required=True) votos_sim = forms.CharField(required=True, label='Sim')
votos_nao = forms.CharField(required=True) votos_nao = forms.CharField(required=True, label='Não')
abstencoes = forms.CharField(required=True) abstencoes = forms.CharField(required=True, label='Abstenções')
total_votos = forms.CharField(required=False, label='total')
class VotacaoEdit(forms.Form): class VotacaoEdit(forms.Form):
@ -1342,6 +1344,7 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView):
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
self.object = self.get_object() self.object = self.get_object()
form = VotacaoForm(request.POST) form = VotacaoForm(request.POST)
context = self.get_context_data(object=self.object)
if form.is_valid(): if form.is_valid():
materia_id = kwargs['oid'] materia_id = kwargs['oid']
@ -1357,9 +1360,7 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView):
qtde_presentes -= 1 qtde_presentes -= 1
if (qtde_votos > qtde_presentes or qtde_votos < qtde_presentes): if (qtde_votos > qtde_presentes or qtde_votos < qtde_presentes):
# context.update ({'error_message': form._errors["total_votos"] = ErrorList([u"aaaaa"])
# 'A quantidade de votos e de
# presentes não correspondem.'})
return self.form_invalid(form) return self.form_invalid(form)
elif (qtde_presentes == qtde_votos): elif (qtde_presentes == qtde_votos):
try: try:

43
templates/sessao/votacao/votacao.html

@ -2,10 +2,25 @@
{% load i18n %} {% load i18n %}
{% block detail_content %} {% block detail_content %}
<form method="post"> <form id="form-votacao" method="post">
{% csrf_token %} {% csrf_token %}
<fieldset> <fieldset>
{% if form.errors %}
<div class="alert-box alert">
<b><h4>Os seguintes erros foram encontrados:</h4></b>
<ul>
{% for field in form %}
{% if field.label == 'total'%}
<li>O total de votos não corresponde com a quantidade de presentes!</li>
{% endif %}
{% if field.errors and not field.label == 'total' %}
<li>O campo <b>{{field.label}}</b> é obrigatório!</li>
{% endif %}
{% endfor %}
</ul>
</div>
{% endif %}
<legend>{{votacao_titulo}}</legend> <legend>{{votacao_titulo}}</legend>
<div> <div>
<b>Matéria:</b> {{materia.materia|safe}} <b>Matéria:</b> {{materia.materia|safe}}
@ -14,6 +29,7 @@
<br /> <br />
<br /> <br />
<b>Total presentes:</b> {{total_presentes}} (com presidente) <b>Total presentes:</b> {{total_presentes}} (com presidente)
<input type="hidden" id="total_votos" name="total_votos">
</div> </div>
<br /> <br />
@ -50,7 +66,30 @@
</ul> </ul>
<br /><br /> <br /><br />
<input type="submit" value="Salvar" /> <input id="salvar-votacao" name="salvar-votacao" type="submit" value="Salvar" />
</fieldset> </fieldset>
</form> </form>
{% endblock detail_content %} {% endblock detail_content %}
{% block foot_js %}
<script language="JavaScript">
// $(document).ready(function() {
// $('#salvar-votacao').click(function(e){
// var presentes = Number($("#total_presentes").val())
// var sim = Number($("#votos_sim").val())
// var nao = Number($("#votos_nao").val())
// var abstencoes = Number($("#abstencoes").val())
// var total = sim + nao + abstencoes
// if (total < presentes) {
// alert('quantidade invalida')
// return false;
// }
// $("#form-votacao").submit()
// });
// });
</script>
{% endblock %}
Loading…
Cancel
Save