diff --git a/materia/forms.py b/materia/forms.py index 027cf5948..9a6f34bda 100644 --- a/materia/forms.py +++ b/materia/forms.py @@ -42,7 +42,7 @@ class UnidadeTramitacaoForm(ModelForm): cleaned_data = self.cleaned_data for key in list(cleaned_data.keys()): - if cleaned_data[key] == None: + if cleaned_data[key] is None: del cleaned_data[key] if len(cleaned_data) != 1: diff --git a/parlamentares/forms.py b/parlamentares/forms.py index dd345345c..42af57529 100644 --- a/parlamentares/forms.py +++ b/parlamentares/forms.py @@ -17,6 +17,25 @@ class ImageThumbnailFileInput(ClearableFileInput): template_name = 'floppyforms/image_thumbnail.html' +class LegislaturaForm(ModelForm): + class Meta: + model = Legislatura + exclude = [] + + def clean(self): + cleaned_data = self.cleaned_data + data_inicio = cleaned_data['data_inicio'] + data_fim = cleaned_data['data_fim'] + data_eleicao = cleaned_data['data_eleicao'] + + if data_inicio >= data_fim or data_eleicao >= data_inicio: + raise ValidationError(_('A data início deve ser menor que a data \ + fim, e a data eleição deve ser menor que\ + a data início')) + + return cleaned_data + + class ParlamentarForm(ModelForm): class Meta: diff --git a/parlamentares/views.py b/parlamentares/views.py index 70d839ef0..fcd3c42ca 100644 --- a/parlamentares/views.py +++ b/parlamentares/views.py @@ -10,14 +10,15 @@ import crud.masterdetail from crud.base import Crud from crud.masterdetail import MasterDetailCrud -from .forms import FiliacaoForm, ParlamentarCreateForm, ParlamentarForm +from .forms import (FiliacaoForm, LegislaturaForm, + ParlamentarCreateForm, ParlamentarForm) from .models import (CargoMesa, Coligacao, ComposicaoMesa, Dependente, Filiacao, Legislatura, Mandato, NivelInstrucao, Parlamentar, Partido, SessaoLegislativa, SituacaoMilitar, TipoAfastamento, TipoDependente) CargoMesaCrud = Crud.build(CargoMesa, 'cargo_mesa') -LegislaturaCrud = Crud.build(Legislatura, 'tabelas_auxiliares#legislatura') +# LegislaturaCrud = Crud.build(Legislatura, 'tabelas_auxiliares#legislatura') ColigacaoCrud = Crud.build(Coligacao, 'coligacao') PartidoCrud = Crud.build(Partido, 'partidos') SessaoLegislativaCrud = Crud.build(SessaoLegislativa, 'sessao_legislativa') @@ -38,6 +39,17 @@ class MandatoCrud(MasterDetailCrud): ordering = ('-legislatura__data_inicio') +class LegislaturaCrud(Crud): + model = Legislatura + help_path = 'tabelas_auxiliares#legislatura' + + class CreateView(crud.base.CrudCreateView): + form_class = LegislaturaForm + + class UpdateView(crud.base.CrudUpdateView): + form_class = LegislaturaForm + + class FiliacaoCrud(MasterDetailCrud): model = Filiacao parent_field = 'parlamentar'