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,
DespachoInicial, DocumentoAcessorio, MateriaLegislativa,
Numeracao, Proposicao, Relatoria, TipoMateriaLegislativa,
Tramitacao)
Tramitacao, UnidadeTramitacao)
ANO_CHOICES = [('', '---------')] + RANGE_ANOS
@ -32,6 +32,25 @@ def em_tramitacao():
(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):
tipo_materia = forms.ModelChoiceField(

15
materia/views.py

@ -30,7 +30,8 @@ from .forms import (AcompanhamentoMateriaForm, AnexadaForm, AutoriaForm,
DespachoInicialForm, DocumentoAcessorioForm,
LegislacaoCitadaForm, MateriaLegislativaFilterSet,
NumeracaoForm, ProposicaoForm, RelatoriaForm,
TramitacaoForm, filtra_tramitacao_destino,
TramitacaoForm, UnidadeTramitacaoForm,
filtra_tramitacao_destino,
filtra_tramitacao_destino_and_status,
filtra_tramitacao_status)
from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria,
@ -52,7 +53,17 @@ AutorCrud = Crud.build(Autor, 'autor')
OrgaoCrud = Crud.build(Orgao, 'orgao')
TipoProposicaoCrud = Crud.build(TipoProposicao, 'tipo_proposicao')
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):

Loading…
Cancel
Save