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, from sapl.crispy_layout_mixin import (SaplFormLayout, form_actions, to_column,
to_row) to_row)
from sapl.materia.models import MateriaLegislativa from sapl.materia.models import MateriaLegislativa
from sapl.parlamentares.models import SessaoLegislativa
from sapl.sessao.models import SessaoPlenaria from sapl.sessao.models import SessaoPlenaria
from sapl.settings import MAX_IMAGE_UPLOAD_SIZE from sapl.settings import MAX_IMAGE_UPLOAD_SIZE
from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES, from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES,
@ -148,6 +149,35 @@ class UsuarioEditForm(ModelForm):
if data['password1'] and data['password1'] != data['password2']: if data['password1'] and data['password1'] != data['password2']:
raise ValidationError('Senhas informadas são diferentes') 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): class TipoAutorForm(ModelForm):

4
sapl/comissoes/forms.py

@ -47,6 +47,10 @@ class PeriodoForm(forms.ModelForm):
def clean(self): def clean(self):
cleaned_data = super(PeriodoForm, self).clean() cleaned_data = super(PeriodoForm, self).clean()
if not self.is_valid():
return cleaned_data
data_inicio = cleaned_data['data_inicio'] data_inicio = cleaned_data['data_inicio']
data_fim = cleaned_data['data_fim'] 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 import FormView
from django.views.generic.edit import UpdateView from django.views.generic.edit import UpdateView
from sapl.base.forms import SessaoLegislativaForm
from sapl.base.models import Autor from sapl.base.models import Autor
from sapl.comissoes.models import Participacao from sapl.comissoes.models import Participacao
from sapl.crud.base import (RP_CHANGE, RP_DETAIL, RP_LIST, Crud, CrudAux, 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') CargoMesaCrud = CrudAux.build(CargoMesa, 'cargo_mesa')
PartidoCrud = CrudAux.build(Partido, 'partidos') PartidoCrud = CrudAux.build(Partido, 'partidos')
SessaoLegislativaCrud = CrudAux.build(SessaoLegislativa, 'sessao_legislativa')
TipoDependenteCrud = CrudAux.build(TipoDependente, 'tipo_dependente') TipoDependenteCrud = CrudAux.build(TipoDependente, 'tipo_dependente')
NivelInstrucaoCrud = CrudAux.build(NivelInstrucao, 'nivel_instrucao') NivelInstrucaoCrud = CrudAux.build(NivelInstrucao, 'nivel_instrucao')
TipoAfastamentoCrud = CrudAux.build(TipoAfastamento, 'tipo_afastamento') TipoAfastamentoCrud = CrudAux.build(TipoAfastamento, 'tipo_afastamento')
@ -44,6 +44,14 @@ TipoMilitarCrud = CrudAux.build(SituacaoMilitar, 'tipo_situa_militar')
DependenteCrud = MasterDetailCrud.build( DependenteCrud = MasterDetailCrud.build(
Dependente, 'parlamentar', 'dependente') 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): class VotanteView(MasterDetailCrud):
model = Votante model = Votante

Loading…
Cancel
Save