Browse Source

Fix #1823 - checa data inicio e data fim de sessão plenária (#1824)

pull/1825/head
Edward 7 years ago
committed by Edward Ribeiro
parent
commit
764473d048
  1. 30
      sapl/base/forms.py
  2. 4
      sapl/comissoes/forms.py
  3. 10
      sapl/parlamentares/views.py

30
sapl/base/forms.py

@ -18,6 +18,7 @@ from sapl.base.models import Autor, TipoAutor
from sapl.crispy_layout_mixin import (SaplFormLayout, form_actions, to_column,
to_row)
from sapl.materia.models import MateriaLegislativa
from sapl.parlamentares.models import SessaoLegislativa
from sapl.sessao.models import SessaoPlenaria
from sapl.settings import MAX_IMAGE_UPLOAD_SIZE
from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES,
@ -148,6 +149,35 @@ class UsuarioEditForm(ModelForm):
if data['password1'] and data['password1'] != data['password2']:
raise ValidationError('Senhas informadas são diferentes')
class SessaoLegislativaForm(ModelForm):
class Meta:
model = SessaoLegislativa
exclude = []
def clean(self):
cleaned_data = super(SessaoLegislativaForm, self).clean()
if not self.is_valid():
return cleaned_data
data_inicio = cleaned_data['data_inicio']
data_fim = cleaned_data['data_fim']
if data_inicio > data_fim:
raise ValidationError('Data início não pode ser superior à data fim')
data_inicio_intervalo = cleaned_data['data_inicio_intervalo']
data_fim_intervalo = cleaned_data['data_fim_intervalo']
if data_inicio_intervalo and data_fim_intervalo and \
data_inicio_intervalo > data_fim_intervalo:
raise ValidationError('Data início de intervalo não pode ser '
'superior à data fim de intervalo')
return cleaned_data
class TipoAutorForm(ModelForm):

4
sapl/comissoes/forms.py

@ -47,6 +47,10 @@ class PeriodoForm(forms.ModelForm):
def clean(self):
cleaned_data = super(PeriodoForm, self).clean()
if not self.is_valid():
return cleaned_data
data_inicio = cleaned_data['data_inicio']
data_fim = cleaned_data['data_fim']

10
sapl/parlamentares/views.py

@ -17,6 +17,7 @@ from django.views.decorators.clickjacking import xframe_options_exempt
from django.views.generic import FormView
from django.views.generic.edit import UpdateView
from sapl.base.forms import SessaoLegislativaForm
from sapl.base.models import Autor
from sapl.comissoes.models import Participacao
from sapl.crud.base import (RP_CHANGE, RP_DETAIL, RP_LIST, Crud, CrudAux,
@ -35,7 +36,6 @@ from .models import (CargoMesa, Coligacao, ComposicaoColigacao, ComposicaoMesa,
CargoMesaCrud = CrudAux.build(CargoMesa, 'cargo_mesa')
PartidoCrud = CrudAux.build(Partido, 'partidos')
SessaoLegislativaCrud = CrudAux.build(SessaoLegislativa, 'sessao_legislativa')
TipoDependenteCrud = CrudAux.build(TipoDependente, 'tipo_dependente')
NivelInstrucaoCrud = CrudAux.build(NivelInstrucao, 'nivel_instrucao')
TipoAfastamentoCrud = CrudAux.build(TipoAfastamento, 'tipo_afastamento')
@ -44,6 +44,14 @@ TipoMilitarCrud = CrudAux.build(SituacaoMilitar, 'tipo_situa_militar')
DependenteCrud = MasterDetailCrud.build(
Dependente, 'parlamentar', 'dependente')
class SessaoLegislativaCrud(CrudAux):
model = SessaoLegislativa
class CreateView(CrudAux.CreateView):
form_class = SessaoLegislativaForm
class UpdateView(CrudAux.UpdateView):
form_class = SessaoLegislativaForm
class VotanteView(MasterDetailCrud):
model = Votante

Loading…
Cancel
Save