Repository: interlegis/sapl

Issue:
Votação de Matéria Duplicada
<!--- Forneça um resumo geral da _issue_ no título acima -->
[Chamado #914738](https://suporte.interlegis.leg.br/scp/tickets.php?id=38056)

## Comportamento Esperado
<!--- Se você está descrevendo um _bug_, conte-nos o que deveria acontecer. -->
<!--- Se você está sugerindo uma mudança/melhoria, conte-nos como deve funcionar. -->
Possibilitar a votação de matérias duplicadas na Ordem do Dia ou no Expediente de uma Sessão Plenária.

## Comportamento Atual
<!--- Se está descrevendo um bug, conte-nos o que acontece em vez do comportamento esperado. -->
<!--- Se está sugerindo uma mudança/melhoria, explique a diferença com o comportamento atual. -->
Não é possível realizar a votação de matérias duplicadas.


Discussion:

Resolving patch:
diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py
--- a/sapl/sessao/views.py
+++ b/sapl/sessao/views.py
@@ -2474,9 +2474,7 @@ def post(self, request, *args, **kwargs):
         if(int(request.POST['anular_votacao']) == 1):
             RegistroVotacao.objects.filter(ordem_id=ordem_id).delete()
 
-            ordem = OrdemDia.objects.get(
-                sessao_plenaria_id=self.object.id,
-                materia_id=materia_id)
+            ordem = OrdemDia.objects.get(id=ordem_id)
             ordem.votacao_aberta = False
             ordem.resultado = ''
             ordem.save()
@@ -2655,9 +2653,7 @@ def post(self, request, *args, **kwargs):
                                       'e da ordem de id={}. '.format(materia_id, ordem_id) + str(e))
                     return self.form_invalid(form)
                 else:
-                    ordem = OrdemDia.objects.get(
-                        sessao_plenaria_id=self.object.id,
-                        materia_id=materia_id)
+                    ordem = OrdemDia.objects.get(id=ordem_id)
                     resultado = TipoResultadoVotacao.objects.get(
                         id=request.POST['resultado_votacao'])
                     ordem.resultado = resultado.nome
@@ -3413,9 +3409,7 @@ def post(self, request, *args, **kwargs):
                     self.logger.error("user=" + username + ". " + str(e))
                     return self.form_invalid(form)
                 else:
-                    expediente = ExpedienteMateria.objects.get(
-                        sessao_plenaria_id=self.object.id,
-                        materia_id=materia_id)
+                    expediente = ExpedienteMateria.objects.get(id=expediente_id)
                     resultado = TipoResultadoVotacao.objects.get(
                         id=request.POST['resultado_votacao'])
                     expediente.resultado = resultado.nome
@@ -3512,10 +3506,7 @@ def post(self, request, *args, **kwargs):
         if int(request.POST['anular_votacao']) == 1:
             RegistroVotacao.objects.filter(
                 expediente_id=expediente_id).delete()
-
-            expediente = ExpedienteMateria.objects.get(
-                sessao_plenaria_id=self.object.id,
-                materia_id=materia_id)
+            expediente = ExpedienteMateria.objects.get(id=expediente_id)
             expediente.votacao_aberta = False
             expediente.resultado = ''
             expediente.save()


Test patch: