Browse Source

Possibilita parlamentares não presentes na ordem do dia a serem oradores (#2814)

Fixes #2812
pull/2824/head
Vinícius Cantuária 6 years ago
committed by Cesar Carvalho
parent
commit
37cb4d19af
  1. 59
      sapl/sessao/forms.py

59
sapl/sessao/forms.py

@ -637,19 +637,11 @@ class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
class OradorForm(ModelForm): class OradorForm(ModelForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(OradorForm, self).__init__(*args, **kwargs) super().__init__(*args, **kwargs)
self.fields['parlamentar'].queryset = \
id_sessao = int(self.initial['id_sessao']) Parlamentar.objects.filter(ativo=True).order_by('nome_parlamentar')
ids = [s.parlamentar.id for
s in SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=id_sessao)]
self.fields['parlamentar'].queryset = Parlamentar.objects.filter(
id__in=ids).order_by('nome_parlamentar')
def clean(self): def clean(self):
super(OradorForm, self).clean() super(OradorForm, self).clean()
cleaned_data = self.cleaned_data cleaned_data = self.cleaned_data
@ -665,32 +657,23 @@ class OradorForm(ModelForm):
numero_ordem=numero_ordem numero_ordem=numero_ordem
).exists() ).exists()
if ordem and numero_ordem != numero: if ordem and numero_ordem != numero:
raise ValidationError(_( raise ValidationError(_(
"Já existe orador nesta posição de ordem de pronunciamento" "Já existe orador nesta posição de ordem de pronunciamento"
)) ))
return self.cleaned_data return self.cleaned_data
class Meta: class Meta:
model = Orador model = Orador
exclude = ['sessao_plenaria'] exclude = ['sessao_plenaria']
class OradorExpedienteForm(ModelForm): class OradorExpedienteForm(ModelForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(OradorExpedienteForm, self).__init__(*args, **kwargs) super().__init__(*args, **kwargs)
self.fields['parlamentar'].queryset = \
id_sessao = int(self.initial['id_sessao']) Parlamentar.objects.filter(ativo=True).order_by('nome_parlamentar')
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')
def clean(self): def clean(self):
super(OradorExpedienteForm, self).clean() super(OradorExpedienteForm, self).clean()
@ -700,7 +683,7 @@ class OradorExpedienteForm(ModelForm):
return self.cleaned_data return self.cleaned_data
sessao_id = self.initial['id_sessao'] 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( ordem = OradorExpediente.objects.filter(
sessao_plenaria_id=sessao_id, sessao_plenaria_id=sessao_id,
numero_ordem=cleaned_data['numero_ordem'] numero_ordem=cleaned_data['numero_ordem']
@ -718,20 +701,10 @@ class OradorExpedienteForm(ModelForm):
class OradorOrdemDiaForm(ModelForm): class OradorOrdemDiaForm(ModelForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(OradorOrdemDiaForm, self).__init__(*args, **kwargs) super().__init__(*args, **kwargs)
self.fields['parlamentar'].queryset = \
id_sessao = int(self.initial['id_sessao']) Parlamentar.objects.filter(ativo=True).order_by('nome_parlamentar')
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')
def clean(self): def clean(self):
super(OradorOrdemDiaForm, self).clean() super(OradorOrdemDiaForm, self).clean()
@ -748,11 +721,11 @@ class OradorOrdemDiaForm(ModelForm):
numero_ordem=numero_ordem numero_ordem=numero_ordem
).exists() ).exists()
if ordem and numero_ordem != numero: if ordem and numero_ordem != numero:
raise ValidationError(_( raise ValidationError(_(
"Já existe orador nesta posição de ordem de pronunciamento" "Já existe orador nesta posição de ordem de pronunciamento"
)) ))
return self.cleaned_data return self.cleaned_data
class Meta: class Meta:
@ -857,7 +830,7 @@ class ResumoOrdenacaoForm(forms.Form):
self.helper.layout = Layout( self.helper.layout = Layout(
Fieldset(_(''), Fieldset(_(''),
row1, row2, row3, row4, row5, row1, row2, row3, row4, row5,
row6, row7, row8, row9, row10, row6, row7, row8, row9, row10,
row11, row12, row13, row14, row11, row12, row13, row14,
form_actions(label='Atualizar')) form_actions(label='Atualizar'))
) )

Loading…
Cancel
Save