From f2ac24c69e652f0fb70d7bc45ee7f0e08fdd2936 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Cantu=C3=A1ria?= Date: Mon, 27 May 2019 15:59:10 -0300 Subject: [PATCH] =?UTF-8?q?Possibilita=20parlamentares=20n=C3=A3o=20presen?= =?UTF-8?q?tes=20na=20ordem=20do=20dia=20a=20serem=20oradores=20(#2814)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #2812 --- sapl/sessao/forms.py | 59 ++++++++++++-------------------------------- 1 file changed, 16 insertions(+), 43 deletions(-) diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index 4bd4022fc..c09d2f220 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -637,19 +637,11 @@ class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet): class OradorForm(ModelForm): - def __init__(self, *args, **kwargs): - super(OradorForm, self).__init__(*args, **kwargs) - - id_sessao = int(self.initial['id_sessao']) - - ids = [s.parlamentar.id for - s in SessaoPlenariaPresenca.objects.filter( - sessao_plenaria_id=id_sessao)] + super().__init__(*args, **kwargs) + self.fields['parlamentar'].queryset = \ + Parlamentar.objects.filter(ativo=True).order_by('nome_parlamentar') - self.fields['parlamentar'].queryset = Parlamentar.objects.filter( - id__in=ids).order_by('nome_parlamentar') - def clean(self): super(OradorForm, self).clean() cleaned_data = self.cleaned_data @@ -665,32 +657,23 @@ class OradorForm(ModelForm): numero_ordem=numero_ordem ).exists() - if ordem and numero_ordem != numero: + if ordem and numero_ordem != numero: raise ValidationError(_( "Já existe orador nesta posição de ordem de pronunciamento" )) - + + return self.cleaned_data - class Meta: model = Orador exclude = ['sessao_plenaria'] class OradorExpedienteForm(ModelForm): - def __init__(self, *args, **kwargs): - super(OradorExpedienteForm, self).__init__(*args, **kwargs) - - id_sessao = int(self.initial['id_sessao']) - - ids = [p.parlamentar.id for p in SessaoPlenariaPresenca.objects.filter( - sessao_plenaria_id=id_sessao - )] - - self.fields['parlamentar'].queryset = Parlamentar.objects.filter( - id__in=ids, ativo=True - ).order_by('nome_parlamentar') + super().__init__(*args, **kwargs) + self.fields['parlamentar'].queryset = \ + Parlamentar.objects.filter(ativo=True).order_by('nome_parlamentar') def clean(self): super(OradorExpedienteForm, self).clean() @@ -700,7 +683,7 @@ class OradorExpedienteForm(ModelForm): return self.cleaned_data sessao_id = self.initial['id_sessao'] - numero = self.initial.get('numero') # Retorna None se inexistente + numero = self.initial.get('numero', None) ordem = OradorExpediente.objects.filter( sessao_plenaria_id=sessao_id, numero_ordem=cleaned_data['numero_ordem'] @@ -718,20 +701,10 @@ class OradorExpedienteForm(ModelForm): class OradorOrdemDiaForm(ModelForm): - def __init__(self, *args, **kwargs): - super(OradorOrdemDiaForm, self).__init__(*args, **kwargs) - - id_sessao = int(self.initial['id_sessao']) - - ids = [p.parlamentar.id for p in PresencaOrdemDia.objects.filter( - sessao_plenaria_id=id_sessao - )] - - self.fields['parlamentar'].queryset = Parlamentar.objects.filter( - id__in=ids, ativo=True - ).order_by('nome_parlamentar') - + super().__init__(*args, **kwargs) + self.fields['parlamentar'].queryset = \ + Parlamentar.objects.filter(ativo=True).order_by('nome_parlamentar') def clean(self): super(OradorOrdemDiaForm, self).clean() @@ -748,11 +721,11 @@ class OradorOrdemDiaForm(ModelForm): numero_ordem=numero_ordem ).exists() - if ordem and numero_ordem != numero: + if ordem and numero_ordem != numero: raise ValidationError(_( "Já existe orador nesta posição de ordem de pronunciamento" )) - + return self.cleaned_data class Meta: @@ -857,7 +830,7 @@ class ResumoOrdenacaoForm(forms.Form): self.helper.layout = Layout( Fieldset(_(''), row1, row2, row3, row4, row5, - row6, row7, row8, row9, row10, + row6, row7, row8, row9, row10, row11, row12, row13, row14, form_actions(label='Atualizar')) )