Repository: interlegis/sapl

Issue:
Explicação Pessoal -> exibindo ao cadastrar, parlamentares de legislaturas passadas
<!--- Forneça um resumo geral da _issue_ no título acima -->

## 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. -->
Ao realizar a inserção de um orador na Explicação pessoal da sessão, apresentar apenas os parlamentares da legislatura atual!
![image](https://user-images.githubusercontent.com/23421504/145226215-8abbe3c1-23a7-4166-bbe2-f7a05520df7f.png)

## 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. -->
https://sapl.santamariadejetiba.es.leg.br/sessao/227/orador/create
Ao adicionar os oradores são listados parlamentarres de outras legislaturas!
![image](https://user-images.githubusercontent.com/23421504/145224330-db3c574c-bb13-4520-b0a3-7a847952e65b.png)

## Possível Solução
<!--- Não é obrigatório, mas sugira uma possível correção/razão para o bug -->
<!--- ou ideias de como implementar a adição/mudança. -->
condicionar o campo select do orador na explicação pessoal!
conforme este link que é do oradores da ordem do dia = "https://sapl.santamariadejetiba.es.leg.br/sessao/227/oradorordemdia/create ",
exibindo apenas os parlamentares da legislatura atual;

## Passos para Reproduzir (para bugs)
<!--- Forneça um link para um exemplo, ou um conjunto de passos inequívocos -->
<!--- para reproduzir esse bug. Inclua código para reproduzir, se relevante. -->
1.https://sapl.santamariadejetiba.es.leg.br/sessao/227/orador/create -> apresenta varios parlamentares
2.https://sapl.santamariadejetiba.es.leg.br/sessao/227/oradorordemdia/create -> apresenta corretamente os parlamentares

## Seu Ambiente
<!--- Inclua detalhes relevantes sobre o ambiente em que você presenciou/experienciou o bug. -->
*Versão usada (3.1.162-RC12):
8Nome e versão do navegador: EDGE Versão 96.0.1054.43 (Compilação oficial) (64 bits)
*Nome e versão do Sistema Operacional (desktop ou mobile):
Edição Windows 10 Pro
Versão 21H1
Instalado em ‎07/‎04/‎2021
Compilação do SO 19043.1288
Experiência Windows Feature Experience Pack 120.2212.3920.0



Discussion:

Resolving patch:
diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py
--- a/sapl/sessao/forms.py
+++ b/sapl/sessao/forms.py
@@ -606,7 +606,7 @@ class OradorForm(ModelForm):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
         self.fields['parlamentar'].queryset = \
-            Parlamentar.objects.filter(ativo=True).order_by('nome_parlamentar')
+            Parlamentar.objects.filter(mandato__legislatura__sessaoplenaria=self.initial['id_sessao'], ativo=True).order_by('nome_parlamentar')
 
     def clean(self):
         super(OradorForm, self).clean()
@@ -643,12 +643,8 @@ class Meta:
 class OradorExpedienteForm(ModelForm):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
-        id_sessao = int(self.initial['id_sessao'])
-        sessao = SessaoPlenaria.objects.get(id=id_sessao)
-        legislatura_vigente = sessao.legislatura
         self.fields['parlamentar'].queryset = \
-            Parlamentar.objects.filter(mandato__legislatura=legislatura_vigente,
-                                       ativo=True).order_by('nome_parlamentar')
+            Parlamentar.objects.filter(mandato__legislatura__sessaoplenaria=self.initial['id_sessao'], ativo=True).order_by('nome_parlamentar')
 
     def clean(self):
         super(OradorExpedienteForm, self).clean()
@@ -683,12 +679,8 @@ class Meta:
 class OradorOrdemDiaForm(ModelForm):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
-        id_sessao = int(self.initial['id_sessao'])
-        sessao = SessaoPlenaria.objects.get(id=id_sessao)
-        legislatura_vigente = sessao.legislatura
         self.fields['parlamentar'].queryset = \
-            Parlamentar.objects.filter(mandato__legislatura=legislatura_vigente,
-                                       ativo=True).order_by('nome_parlamentar')
+            Parlamentar.objects.filter(mandato__legislatura__sessaoplenaria=self.initial['id_sessao'], ativo=True).order_by('nome_parlamentar')
 
     def clean(self):
         super(OradorOrdemDiaForm, self).clean()


Test patch: