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_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):

6
sapl/sessao/views.py

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

Loading…
Cancel
Save