Browse Source

Valida para só um campo ser selecionado (#456)

pull/459/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
committed by Edward
parent
commit
92b168f4b9
  1. 21
      materia/forms.py
  2. 15
      materia/views.py

21
materia/forms.py

@ -21,7 +21,7 @@ from sapl.utils import RANGE_ANOS
from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria, from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria,
DespachoInicial, DocumentoAcessorio, MateriaLegislativa, DespachoInicial, DocumentoAcessorio, MateriaLegislativa,
Numeracao, Proposicao, Relatoria, TipoMateriaLegislativa, Numeracao, Proposicao, Relatoria, TipoMateriaLegislativa,
Tramitacao) Tramitacao, UnidadeTramitacao)
ANO_CHOICES = [('', '---------')] + RANGE_ANOS ANO_CHOICES = [('', '---------')] + RANGE_ANOS
@ -32,6 +32,25 @@ def em_tramitacao():
(False, 'Não')] (False, 'Não')]
class UnidadeTramitacaoForm(ModelForm):
class Meta:
model = UnidadeTramitacao
fields = ['comissao', 'orgao', 'parlamentar']
def clean(self):
cleaned_data = self.cleaned_data
for key in list(cleaned_data.keys()):
if cleaned_data[key] == None:
del cleaned_data[key]
if len(cleaned_data) != 1:
msg = _('Somente um campo deve preenchido!')
raise ValidationError(msg)
return cleaned_data
class ProposicaoForm(ModelForm): class ProposicaoForm(ModelForm):
tipo_materia = forms.ModelChoiceField( tipo_materia = forms.ModelChoiceField(

15
materia/views.py

@ -30,7 +30,8 @@ from .forms import (AcompanhamentoMateriaForm, AnexadaForm, AutoriaForm,
DespachoInicialForm, DocumentoAcessorioForm, DespachoInicialForm, DocumentoAcessorioForm,
LegislacaoCitadaForm, MateriaLegislativaFilterSet, LegislacaoCitadaForm, MateriaLegislativaFilterSet,
NumeracaoForm, ProposicaoForm, RelatoriaForm, NumeracaoForm, ProposicaoForm, RelatoriaForm,
TramitacaoForm, filtra_tramitacao_destino, TramitacaoForm, UnidadeTramitacaoForm,
filtra_tramitacao_destino,
filtra_tramitacao_destino_and_status, filtra_tramitacao_destino_and_status,
filtra_tramitacao_status) filtra_tramitacao_status)
from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria, from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria,
@ -52,7 +53,17 @@ AutorCrud = Crud.build(Autor, 'autor')
OrgaoCrud = Crud.build(Orgao, 'orgao') OrgaoCrud = Crud.build(Orgao, 'orgao')
TipoProposicaoCrud = Crud.build(TipoProposicao, 'tipo_proposicao') TipoProposicaoCrud = Crud.build(TipoProposicao, 'tipo_proposicao')
StatusTramitacaoCrud = Crud.build(StatusTramitacao, 'status_tramitacao') StatusTramitacaoCrud = Crud.build(StatusTramitacao, 'status_tramitacao')
UnidadeTramitacaoCrud = Crud.build(UnidadeTramitacao, 'unidade_tramitacao')
class UnidadeTramitacaoCrud(Crud):
model = UnidadeTramitacao
help_path = 'unidade_tramitacao'
class CreateView(crud.base.CrudCreateView):
form_class = UnidadeTramitacaoForm
class UpdateView(crud.base.CrudUpdateView):
form_class = UnidadeTramitacaoForm
class ProposicaoCrud(Crud): class ProposicaoCrud(Crud):

Loading…
Cancel
Save