diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index 562d28aa7..87bcd17cd 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -238,10 +238,6 @@ class PresencaForm(forms.Form): parlamentar = forms.CharField(required=False, max_length=20) -class VotacaoNominalForm(forms.Form): - pass - - class ListMateriaForm(forms.Form): error_message = forms.CharField(required=False, label='votacao_aberta') @@ -256,12 +252,17 @@ class ExpedienteForm(forms.Form): class VotacaoForm(forms.Form): - 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') + votos_sim = forms.CharField(label='Sim') + votos_nao = forms.CharField(label='Não') + abstencoes = forms.CharField(label='Abstenções') total_votos = forms.CharField(required=False, label='total') - resultado_votacao = forms.CharField(required=True, - label='Resultado da Votação') + resultado_votacao = forms.CharField(label='Resultado da Votação') + + +class VotacaoNominalForm(VotacaoForm): + votos_sim = forms.CharField(required=False, label='Sim') + votos_nao = forms.CharField(required=False, label='Não') + abstencoes = forms.CharField(required=False, label='Abstenções') class VotacaoEditForm(forms.Form): diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index c475da3b2..0693402b9 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -1651,6 +1651,7 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): template_name = 'sessao/votacao/nominal.html' ordem = None expediente = None + form_class = VotacaoNominalForm def get(self, request, *args, **kwargs): if self.ordem: @@ -1706,6 +1707,7 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): def post(self, request, *args, **kwargs): self.object = self.get_object() + form = self.get_form() if self.ordem: ordem_id = kwargs['oid'] @@ -1725,28 +1727,10 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): materia_votacao = expediente - form = VotacaoNominalForm(request.POST) if 'cancelar-votacao' in request.POST: fechar_votacao_materia(materia_votacao) return self.form_valid(form) - else: - if not request.POST['resultado_votacao']: - msg = "Resultado votação deve ser informado" - messages.add_message(request, messages.ERROR, msg) - - if self.ordem: - view = 'sapl.sessao:votacaonominal' - elif self.expediente: - view = 'sapl.sessao:votacaonominalexp' - else: - view = None - - return HttpResponseRedirect(reverse( - view, - kwargs={'pk': kwargs['pk'], - 'oid': kwargs['oid'], - 'mid': kwargs['mid']})) if form.is_valid(): votos_sim = 0 @@ -1840,8 +1824,28 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): expediente=expediente, votacao__isnull=True).delete() return self.form_valid(form) + else: - return self.form_invalid(form) + errors_tuple = [(form[e].label, form.errors[e]) for e in form.errors] + error_message = '''''' + + messages.add_message(request, messages.ERROR, error_message) + + if self.ordem: + view = 'sapl.sessao:votacaonominal' + elif self.expediente: + view = 'sapl.sessao:votacaonominalexp' + else: + view = None + + return HttpResponseRedirect(reverse( + view, + kwargs={'pk': kwargs['pk'], + 'oid': kwargs['oid'], + 'mid': kwargs['mid']})) def get_parlamentares(self, presencas): self.object = self.get_object() diff --git a/sapl/templates/sessao/votacao/nominal.html b/sapl/templates/sessao/votacao/nominal.html index 8df750eef..6813c29fd 100644 --- a/sapl/templates/sessao/votacao/nominal.html +++ b/sapl/templates/sessao/votacao/nominal.html @@ -46,6 +46,7 @@
Resultado da Votação