Browse Source

Fix #1460

pull/1461/head
Eduardo Calil 8 years ago
parent
commit
635552c825
  1. 50
      sapl/parlamentares/forms.py
  2. 6
      sapl/parlamentares/views.py

50
sapl/parlamentares/forms.py

@ -26,7 +26,7 @@ class ImageThumbnailFileInput(ClearableFileInput):
def validar_datas_legislatura(eleicao, inicio, fim, pk=None): def validar_datas_legislatura(eleicao, inicio, fim, pk=None):
# Verifica se data de eleição < inicio < fim # Verifica se data de eleição < inicio < fim
if inicio >= fim or eleicao >= inicio: if inicio > fim or eleicao > inicio:
msg_error = _('A data início deve ser menor que a ' + msg_error = _('A data início deve ser menor que a ' +
'data fim, e a data eleição deve ser ' + 'data fim, e a data eleição deve ser ' +
'menor que a data início') 'menor que a data início')
@ -108,52 +108,16 @@ class LegislaturaForm(ModelForm):
data_fim = data['data_fim'] data_fim = data['data_fim']
data_eleicao = data['data_eleicao'] data_eleicao = data['data_eleicao']
if data_eleicao.year >= data_inicio.year: pk = self.instance.pk
raise ValidationError(_("Data eleição não pode ser inferior a "
"data início da legislatura"))
if data_inicio > data_fim or (data_fim.year - data_inicio.year != 4): valida_datas = validar_datas_legislatura(data_eleicao,
raise ValidationError(_("Intervalo de início e fim inválido para " data_inicio,
"legislatura.")) data_fim,
pk=pk)
return data
class LegislaturaCreateForm(LegislaturaForm):
def clean(self):
super(LegislaturaCreateForm, self).clean()
cleaned_data = self.cleaned_data
if not self.is_valid():
return cleaned_data
eleicao = cleaned_data['data_eleicao']
inicio = cleaned_data['data_inicio']
fim = cleaned_data['data_fim']
valida_datas = validar_datas_legislatura(eleicao, inicio, fim)
if not valida_datas[0]: if not valida_datas[0]:
raise ValidationError(valida_datas[1]) raise ValidationError(valida_datas[1])
return cleaned_data
class LegislaturaUpdateForm(LegislaturaCreateForm):
def clean(self):
super(LegislaturaUpdateForm, self).clean()
cleaned_data = super(LegislaturaCreateForm, self).clean()
eleicao = cleaned_data['data_eleicao']
inicio = cleaned_data['data_inicio']
fim = cleaned_data['data_fim']
valida_datas = validar_datas_legislatura( return data
eleicao, inicio, fim, pk=self.instance.pk)
if not valida_datas[0]:
raise ValidationError(valida_datas[1])
return cleaned_data
class ParlamentarForm(ModelForm): class ParlamentarForm(ModelForm):

6
sapl/parlamentares/views.py

@ -25,7 +25,7 @@ from sapl.materia.models import Autoria, Proposicao, Relatoria
from sapl.parlamentares.apps import AppConfig from sapl.parlamentares.apps import AppConfig
from sapl.utils import parlamentares_ativos from sapl.utils import parlamentares_ativos
from .forms import (FiliacaoForm, LegislaturaCreateForm, LegislaturaUpdateForm, from .forms import (FiliacaoForm, LegislaturaForm,
MandatoForm, ParlamentarCreateForm, ParlamentarForm, MandatoForm, ParlamentarCreateForm, ParlamentarForm,
VotanteForm) VotanteForm)
from .models import (CargoMesa, Coligacao, ComposicaoColigacao, ComposicaoMesa, from .models import (CargoMesa, Coligacao, ComposicaoColigacao, ComposicaoMesa,
@ -358,7 +358,7 @@ class LegislaturaCrud(CrudAux):
help_path = 'tabelas_auxiliares#legislatura' help_path = 'tabelas_auxiliares#legislatura'
class CreateView(CrudAux.CreateView): class CreateView(CrudAux.CreateView):
form_class = LegislaturaCreateForm form_class = LegislaturaForm
def get_initial(self): def get_initial(self):
try: try:
@ -369,7 +369,7 @@ class LegislaturaCrud(CrudAux):
return {'numero': numero} return {'numero': numero}
class UpdateView(CrudAux.UpdateView): class UpdateView(CrudAux.UpdateView):
form_class = LegislaturaUpdateForm form_class = LegislaturaForm
class DetailView(CrudAux.DetailView): class DetailView(CrudAux.DetailView):

Loading…
Cancel
Save