Browse Source

Fixes #1400

pull/1405/head
Edward Ribeiro 7 years ago
parent
commit
bffe5fc15f
  1. 32
      sapl/sessao/forms.py
  2. 6
      sapl/sessao/views.py

32
sapl/sessao/forms.py

@ -51,6 +51,38 @@ ORDENACAO_RESUMO = [('cont_mult', 'Conteúdo Multimídia'),
('oradores_exped', 'Oradores do Expediente'), ('oradores_exped', 'Oradores do Expediente'),
('oradores_expli', 'Oradores das Explicações Pessoais')] ('oradores_expli', 'Oradores das Explicações Pessoais')]
class SessaoPlenariaForm(ModelForm):
class Meta:
model = SessaoPlenaria
exclude = ['cod_andamento_sessao']
def clean(self):
super(SessaoPlenariaForm, self).clean()
instance = self.instance
num = self.cleaned_data['numero']
sl = self.cleaned_data['sessao_legislativa']
leg = self.cleaned_data['legislatura']
sessoes = SessaoPlenaria.objects.filter(numero=num,
sessao_legislativa=sl,
legislatura=leg).\
values_list('id', flat=True)
qtd_sessoes = len(sessoes)
error = ValidationError('Número de Sessão Plenária Existente')
if qtd_sessoes > 0:
if instance.pk: # update
if not instance.pk in sessoes or qtd_sessoes > 1:
raise error
else: # create
raise error
return self.cleaned_data
class BancadaForm(ModelForm): class BancadaForm(ModelForm):

6
sapl/sessao/views.py

@ -37,7 +37,7 @@ from sapl.sessao.forms import ExpedienteMateriaForm, OrdemDiaForm
from .forms import (AdicionarVariasMateriasFilterSet, ExpedienteForm, from .forms import (AdicionarVariasMateriasFilterSet, ExpedienteForm,
ListMateriaForm, MesaForm, OradorExpedienteForm, ListMateriaForm, MesaForm, OradorExpedienteForm,
OradorForm, PautaSessaoFilterSet, PresencaForm, OradorForm, PautaSessaoFilterSet, PresencaForm,
ResumoOrdenacaoForm, SessaoPlenariaFilterSet, ResumoOrdenacaoForm, SessaoPlenariaFilterSet, SessaoPlenariaForm,
VotacaoEditForm, VotacaoForm, VotacaoNominalForm) VotacaoEditForm, VotacaoForm, VotacaoNominalForm)
from .models import (Bancada, Bloco, CargoBancada, CargoMesa, from .models import (Bancada, Bloco, CargoBancada, CargoMesa,
ExpedienteMateria, ExpedienteSessao, IntegranteMesa, ExpedienteMateria, ExpedienteSessao, IntegranteMesa,
@ -542,11 +542,15 @@ class SessaoCrud(Crud):
class UpdateView(Crud.UpdateView): class UpdateView(Crud.UpdateView):
form_class = SessaoPlenariaForm
def get_initial(self): def get_initial(self):
return {'sessao_legislativa': self.object.sessao_legislativa} return {'sessao_legislativa': self.object.sessao_legislativa}
class CreateView(Crud.CreateView): class CreateView(Crud.CreateView):
form_class = SessaoPlenariaForm
@property @property
def cancel_url(self): def cancel_url(self):
return self.search_url return self.search_url

Loading…
Cancel
Save