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. 32
      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): def get(self, request, *args, **kwargs):
self.object = self.get_object() self.object = self.get_object()
context = self.get_context_data(object=self.object) context = self.get_context_data(object=self.object)
url = request.get_full_path() url = request.get_full_path()
# TODO: HACK, VERIFICAR MELHOR FORMA DE FAZER ISSO # TODO: HACK, VERIFICAR MELHOR FORMA DE FAZER ISSO
@ -1345,6 +1344,27 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView):
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) 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(): if form.is_valid():
materia_id = kwargs['oid'] materia_id = kwargs['oid']
@ -1360,8 +1380,8 @@ 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):
form._errors["total_votos"] = ErrorList([u"aaaaa"]) form._errors["total_votos"] = ErrorList([u""])
return self.form_invalid(form) return self.render_to_response(context)
elif (qtde_presentes == qtde_votos): elif (qtde_presentes == qtde_votos):
try: try:
votacao = RegistroVotacao() votacao = RegistroVotacao()
@ -1387,7 +1407,7 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView):
return self.form_valid(form) return self.form_valid(form)
else: else:
return self.form_invalid(form) return self.render_to_response(context)
def get_success_url(self): def get_success_url(self):
pk = self.kwargs['pk'] pk = self.kwargs['pk']

32
templates/sessao/votacao/votacao.html

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