Browse Source

Evita que ano e data_apresentacao sejam distintos

pull/1642/head
Edward Ribeiro 7 years ago
parent
commit
3faa715cf5
  1. 45
      sapl/materia/forms.py
  2. 12
      sapl/materia/views.py
  3. 7
      sapl/parlamentares/views.py

45
sapl/materia/forms.py

@ -118,6 +118,51 @@ class MateriaSimplificadaForm(ModelForm):
) )
super(MateriaSimplificadaForm, self).__init__(*args, **kwargs) super(MateriaSimplificadaForm, self).__init__(*args, **kwargs)
def clean(self):
super(MateriaSimplificadaForm, self).clean()
cleaned_data = self.cleaned_data
data_apresentacao = cleaned_data['data_apresentacao']
ano = cleaned_data['ano']
if data_apresentacao.year != ano:
raise ValidationError("O ano da matéria não pode ser "
"diferente do ano na data de apresentação")
return cleaned_data
class MateriaLegislativaForm(ModelForm):
class Meta:
model = MateriaLegislativa
exclude = ['texto_articulado', 'autores', 'proposicao',
'anexadas', 'data_ultima_atualizacao']
def clean(self):
super(MateriaLegislativaForm, self).clean()
cleaned_data = self.cleaned_data
data_apresentacao = cleaned_data['data_apresentacao']
ano = cleaned_data['ano']
if data_apresentacao.year != ano:
raise ValidationError("O ano da matéria não pode ser "
"diferente do ano na data de apresentação")
ano_origem_externa = cleaned_data['ano_origem_externa']
data_origem_externa = cleaned_data['data_origem_externa']
if ano_origem_externa and data_origem_externa and \
ano_origem_externa != data_origem_externa.year:
raise ValidationError("O ano de origem externa da matéria não "
"pode ser diferente do ano na data de "
"origem externa")
return cleaned_data
class UnidadeTramitacaoForm(ModelForm): class UnidadeTramitacaoForm(ModelForm):

12
sapl/materia/views.py

@ -54,7 +54,7 @@ from .forms import (AcessorioEmLoteFilterSet, AcompanhamentoMateriaForm,
RelatoriaForm, TramitacaoEmLoteFilterSet, RelatoriaForm, TramitacaoEmLoteFilterSet,
filtra_tramitacao_destino, filtra_tramitacao_destino,
filtra_tramitacao_destino_and_status, filtra_tramitacao_destino_and_status,
filtra_tramitacao_status) filtra_tramitacao_status, MateriaLegislativaForm)
from .models import (AcompanhamentoMateria, Anexada, AssuntoMateria, Autoria, from .models import (AcompanhamentoMateria, Anexada, AssuntoMateria, Autoria,
DespachoInicial, DocumentoAcessorio, MateriaAssunto, DespachoInicial, DocumentoAcessorio, MateriaAssunto,
MateriaLegislativa, Numeracao, Orgao, Origem, Proposicao, MateriaLegislativa, Numeracao, Orgao, Origem, Proposicao,
@ -1305,6 +1305,16 @@ class MateriaLegislativaCrud(Crud):
class CreateView(Crud.CreateView): class CreateView(Crud.CreateView):
form_class = MateriaLegislativaForm
@property
def cancel_url(self):
return self.search_url
class UpdateView(Crud.UpdateView):
form_class = MateriaLegislativaForm
@property @property
def cancel_url(self): def cancel_url(self):
return self.search_url return self.search_url

7
sapl/parlamentares/views.py

@ -465,10 +465,13 @@ class ParlamentarCrud(Crud):
try: try:
return int(self.request.GET['pk']) return int(self.request.GET['pk'])
except: except:
for l in Legislatura.objects.all(): legislaturas = Legislatura.objects.all()
for l in legislaturas:
if l.atual(): if l.atual():
return l.id return l.id
return l.first() if legislaturas:
return legislaturas[0].id
return 0
def get_queryset(self): def get_queryset(self):
queryset = super().get_queryset() queryset = super().get_queryset()

Loading…
Cancel
Save