diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 7c76d3196..e8d096c2b 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -5084,11 +5084,28 @@ class VotacaoEmBlocoNominalView(PermissionRequiredForAppCrudMixin, TemplateView) context.update({'expedientes': expedientes}) total_presentes = presentes.count() - context.update({'parlamentares': self.get_parlamentares(), + + # Preserva votos selecionados pelo usuário ao retornar com erro + presentes_list = [p.parlamentar for p in presentes] + votos_post = {} + for votos in self.request.POST.getlist('voto_parlamentar'): + try: + voto, parlamentar_id = votos.split(':', 1) + votos_post[int(parlamentar_id)] = voto + except ValueError: + continue + + parlamentares_ctx = [] + for parlamentar in Parlamentar.objects.filter(ativo=True): + if parlamentar in presentes_list: + parlamentares_ctx.append([parlamentar, votos_post.get(parlamentar.id)]) + + context.update({'parlamentares': parlamentares_ctx, 'total_presentes': total_presentes, 'resultado_votacao': TipoResultadoVotacao.objects.all(), 'form': form, - 'origem': self.request.POST['origem']}) + 'origem': self.request.POST['origem'], + 'votos_from_post': True}) return self.render_to_response(context) diff --git a/sapl/templates/sessao/votacao/votacao_nominal_bloco.html b/sapl/templates/sessao/votacao/votacao_nominal_bloco.html index fe558fcc7..e70556b89 100644 --- a/sapl/templates/sessao/votacao/votacao_nominal_bloco.html +++ b/sapl/templates/sessao/votacao/votacao_nominal_bloco.html @@ -47,8 +47,8 @@ {% for parlamentar in parlamentares %}