From 51f377f7290a456552ad3e5136935d17ae85a82c Mon Sep 17 00:00:00 2001 From: Eduardo Edson Batista Cordeiro Alves Date: Wed, 18 May 2016 12:22:51 -0300 Subject: [PATCH] =?UTF-8?q?Impede=20que=20data=20de=20extin=C3=A7=C3=A3o?= =?UTF-8?q?=20seja=20menor=20que=20a=20de=20cria=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sessao/forms.py | 18 +++++++++++++++++- sessao/views.py | 14 ++++++++++---- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/sessao/forms.py b/sessao/forms.py index 64af5caaf..cfca3975a 100644 --- a/sessao/forms.py +++ b/sessao/forms.py @@ -13,7 +13,7 @@ from crispy_layout_mixin import form_actions from materia.models import MateriaLegislativa, TipoMateriaLegislativa from sapl.utils import RANGE_DIAS_MES, RANGE_MESES -from .models import ExpedienteMateria, SessaoPlenaria +from .models import Bancada, ExpedienteMateria, SessaoPlenaria def pega_anos(): @@ -29,6 +29,22 @@ MES_CHOICES = [('', '---------')] + RANGE_MESES DIA_CHOICES = [('', '---------')] + RANGE_DIAS_MES +class BancadaForm(ModelForm): + + class Meta: + model = Bancada + fields = ['legislatura', 'nome', 'partido', 'data_criacao', + 'data_extincao', 'descricao'] + + def clean(self): + if self.cleaned_data['data_extincao']: + if (self.cleaned_data['data_extincao'] < + self.cleaned_data['data_criacao']): + msg = _('Data de extinção não pode ser menor que a de criação') + raise ValidationError(msg) + return self.cleaned_data + + class ExpedienteMateriaForm(ModelForm): tipo_materia = forms.ModelChoiceField( diff --git a/sessao/views.py b/sessao/views.py index 19b3192bf..680d72369 100644 --- a/sessao/views.py +++ b/sessao/views.py @@ -23,10 +23,10 @@ from norma.models import NormaJuridica from parlamentares.models import Parlamentar from sessao.serializers import SessaoPlenariaSerializer -from .forms import (ExpedienteForm, ExpedienteMateriaForm, ListMateriaForm, - MateriaOrdemDiaForm, MesaForm, PresencaForm, - SessaoPlenariaFilterSet, VotacaoEditForm, VotacaoForm, - VotacaoNominalForm) +from .forms import (BancadaForm, ExpedienteForm, ExpedienteMateriaForm, + ListMateriaForm, MateriaOrdemDiaForm, MesaForm, + PresencaForm, SessaoPlenariaFilterSet, VotacaoEditForm, + VotacaoForm, VotacaoNominalForm) from .models import (Bancada, CargoBancada, CargoMesa, ExpedienteMateria, ExpedienteSessao, IntegranteMesa, MateriaLegislativa, Orador, OradorExpediente, OrdemDia, PresencaOrdemDia, @@ -66,6 +66,12 @@ class BancadaCrud(Crud): class ListView(crud.base.CrudListView): ordering = 'legislatura' + class CreateView(crud.base.CrudCreateView): + form_class = BancadaForm + + class UpdateView(crud.base.CrudUpdateView): + form_class = BancadaForm + def abrir_votacao_view(request, pk, spk): existe_votacao_aberta = ExpedienteMateria.objects.filter(