Browse Source

Fix #1922 (#1927)

* Fix #1922

* Update forms.py
pull/1937/head
Talitha Pumar 7 years ago
committed by Edward
parent
commit
80e91fc8cb
  1. 30
      sapl/materia/forms.py
  2. 16
      sapl/protocoloadm/forms.py

30
sapl/materia/forms.py

@ -36,7 +36,7 @@ from sapl.materia.models import (AssuntoMateria, Autoria, MateriaAssunto,
from sapl.norma.models import (LegislacaoCitada, NormaJuridica,
TipoNormaJuridica)
from sapl.parlamentares.models import Legislatura
from sapl.protocoloadm.models import Protocolo
from sapl.protocoloadm.models import Protocolo, DocumentoAdministrativo
from sapl.settings import MAX_DOC_UPLOAD_SIZE
from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES,
ChoiceWithoutValidationField,
@ -182,19 +182,39 @@ class MateriaLegislativaForm(ModelForm):
data_apresentacao = cleaned_data['data_apresentacao']
ano = cleaned_data['ano']
protocolo = cleaned_data['numero_protocolo']
protocolo_antigo = self.instance.numero_protocolo
if protocolo:
if not Protocolo.objects.filter(numero=protocolo,ano=ano).exists():
raise ValidationError(_('Protocolo %s/%s não'
' existe' % (protocolo, ano)))
if protocolo_antigo != protocolo:
exist_materia = MateriaLegislativa.objects.filter(
numero_protocolo=protocolo,
ano=ano).exists()
exist_doc = DocumentoAdministrativo.objects.filter(
protocolo_id=protocolo,
ano=ano).exists()
if exist_materia or exist_doc:
raise ValidationError(_('Protocolo %s/%s ja possui'
' documento vinculado'
% (protocolo, 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")
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 "
raise ValidationError(_("O ano de origem externa da matéria não "
"pode ser diferente do ano na data de "
"origem externa")
"origem externa"))
return cleaned_data

16
sapl/protocoloadm/forms.py

@ -698,6 +698,22 @@ class DocumentoAdministrativoForm(ModelForm):
numero_protocolo, ano_protocolo))
raise ValidationError(msg)
inst = self.instance.protocolo
protocolo_antigo = inst.numero if inst else None
if str(protocolo_antigo) != numero_protocolo:
exist_materia = MateriaLegislativa.objects.filter(
numero_protocolo=numero_protocolo,
ano=ano_protocolo).exists()
exist_doc = DocumentoAdministrativo.objects.filter(
protocolo_id=numero_protocolo,
ano=ano_protocolo).exists()
if exist_materia or exist_doc:
raise ValidationError(_('Protocolo %s/%s ja possui'
' documento vinculado'
% (numero_protocolo, ano_protocolo)))
return self.cleaned_data
def save(self, commit=True):

Loading…
Cancel
Save