Browse Source

Valida despachos iguais

pull/350/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
264cf53a68
  1. 28
      materia/forms.py
  2. 20
      materia/views.py

28
materia/forms.py

@ -15,9 +15,9 @@ from norma.models import LegislacaoCitada, TipoNormaJuridica
from sapl.settings import MAX_DOC_UPLOAD_SIZE
from sapl.utils import RANGE_ANOS
from .models import (AcompanhamentoMateria, Anexada, Autor, DocumentoAcessorio,
MateriaLegislativa, Numeracao, Proposicao, Relatoria,
TipoMateriaLegislativa, Tramitacao)
from .models import (AcompanhamentoMateria, Anexada, Autor, DespachoInicial,
DocumentoAcessorio, MateriaLegislativa, Numeracao,
Proposicao, Relatoria, TipoMateriaLegislativa, Tramitacao)
ANO_CHOICES = [('', '---------')] + RANGE_ANOS
@ -542,3 +542,25 @@ def filtra_tramitacao_destino_and_status(status, destino):
status=status,
unidade_tramitacao_destino=destino).distinct().values_list(
'materia_id', flat=True)
class DespachoInicialForm(ModelForm):
class Meta:
model = DespachoInicial
fields = ['comissao']
def clean(self):
if self.errors:
return self.errors
cleaned_data = self.cleaned_data
if DespachoInicial.objects.filter(
materia=self.instance.materia,
comissao=self.cleaned_data['comissao'],
).exists():
msg = _('Esse Despacho já foi cadastrado.')
raise ValidationError(msg)
return self.cleaned_data

20
materia/views.py

@ -25,9 +25,10 @@ from norma.models import LegislacaoCitada, NormaJuridica, TipoNormaJuridica
from sapl.utils import get_base_url
from .forms import (AcompanhamentoMateriaForm, AnexadaForm,
DocumentoAcessorioForm, LegislacaoCitadaForm,
MateriaLegislativaFilterSet, NumeracaoForm, ProposicaoForm,
RelatoriaForm, TramitacaoForm, filtra_tramitacao_destino,
DespachoInicialForm, DocumentoAcessorioForm,
LegislacaoCitadaForm, MateriaLegislativaFilterSet,
NumeracaoForm, ProposicaoForm, RelatoriaForm,
TramitacaoForm, filtra_tramitacao_destino,
filtra_tramitacao_destino_and_status,
filtra_tramitacao_status)
from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria,
@ -57,7 +58,18 @@ UnidadeTramitacaoCrud = Crud.build(UnidadeTramitacao, 'unidade_tramitacao')
TramitacaoCrud = Crud.build(Tramitacao, '')
AutoriaCrud = MasterDetailCrud.build(Autoria, 'materia', '')
DespachoInicialCrud = MasterDetailCrud.build(DespachoInicial, 'materia', '')
class DespachoInicialCrud(MasterDetailCrud):
model = DespachoInicial
parent_field = 'materia'
help_path = ''
class CreateView(MasterDetailCrud.CreateView):
form_class = DespachoInicialForm
class UpdateView(MasterDetailCrud.UpdateView):
form_class = DespachoInicialForm
class AnexadaCrud(MasterDetailCrud):

Loading…
Cancel
Save