Browse Source

Validate votacao materiaordemdia

pull/7/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
e8adf8059d
  1. 28
      sessao/views.py
  2. 38
      templates/sessao/votacao/votacao.html

28
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']

38
templates/sessao/votacao/votacao.html

@ -6,22 +6,25 @@
{% csrf_token %}
<fieldset>
<legend>{{votacao_titulo}}</legend>
{% 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>
{% if field.errors %}
{% if field.label == 'total'%}
<li>O total de votos não corresponde com a quantidade de presentes!</li>
{% else %}
<li>O campo <b>{{field.label}}</b> é obrigatório!</li>
{% endif %}
{% endif %}
{% endfor %}
</ul>
</div>
{% endif %}
<legend>{{votacao_titulo}}</legend>
<div>
<b>Matéria:</b> {{materia.materia|safe}}
<br />
@ -70,26 +73,3 @@
</fieldset>
</form>
{% 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