Browse Source

Fix #3064

fixes_protocolo_materia
João Rodrigues 5 years ago
parent
commit
927b420b54
  1. 48
      sapl/materia/forms.py

48
sapl/materia/forms.py

@ -206,39 +206,39 @@ class MateriaLegislativaForm(FileFieldCheckMixin, ModelForm):
data_apresentacao = cleaned_data['data_apresentacao'] data_apresentacao = cleaned_data['data_apresentacao']
ano = cleaned_data['ano'] ano = cleaned_data['ano']
protocolo = cleaned_data['numero_protocolo'] protocolo_novo_numero = cleaned_data['numero_protocolo']
protocolo_antigo = self.instance.numero_protocolo protocolo_antigo_numero = self.instance.numero_protocolo
if protocolo: if protocolo_novo_numero:
if not Protocolo.objects.filter(numero=protocolo, ano=ano).exists(): if not Protocolo.objects.filter(numero=protocolo_novo_numero, ano=ano).exists():
self.logger.error("Protocolo %s/%s não" self.logger.error("O Protocolo %s/%s não"
" existe" % (protocolo, ano)) " existe!" % (protocolo_novo_numero, ano))
raise ValidationError(_('Protocolo %s/%s não' raise ValidationError(_('O Protocolo %s/%s não'
' existe' % (protocolo, ano))) ' existe!' % (protocolo_novo_numero, ano)))
if protocolo_antigo != protocolo: if protocolo_antigo_numero != protocolo_novo_numero:
exist_materia = MateriaLegislativa.objects.filter( exist_materia = MateriaLegislativa.objects.filter(
numero_protocolo=protocolo, numero_protocolo=protocolo_novo_numero,
ano=ano).exists() ano=ano).exists()
protocolo_novo = Protocolo.objects.get(numero=protocolo_novo_numero, ano=ano)
exist_doc = DocumentoAdministrativo.objects.filter( exist_doc = DocumentoAdministrativo.objects.filter(
protocolo_id=protocolo, protocolo_id=protocolo_novo.id,
ano=ano).exists() ano=ano).exists()
if exist_materia or exist_doc: if exist_materia or exist_doc:
self.logger.error("Protocolo %s/%s ja possui" self.logger.error("O Protocolo %s/%s já possui"
" documento vinculado" " um documento vinculado."
% (protocolo, ano)) % (protocolo_novo_numero, ano))
raise ValidationError(_('Protocolo %s/%s ja possui' raise ValidationError(_('O Protocolo %s/%s já possui'
' documento vinculado' ' um documento vinculado.'
% (protocolo, ano))) % (protocolo_novo_numero, ano)))
p = Protocolo.objects.get(numero=protocolo, ano=ano) if protocolo_novo.tipo_materia != cleaned_data['tipo']:
if p.tipo_materia != cleaned_data['tipo']: self.logger.error("O Tipo de Matéria do Protocolo ({}) deve ser o mesmo Tipo da Matéria ({})."
self.logger.error("Tipo do Protocolo ({}) deve ser o mesmo do Tipo Matéria ({})." .format(cleaned_data['tipo'], protocolo_novo.tipo_materia))
.format(cleaned_data['tipo'], p.tipo_materia))
raise ValidationError( raise ValidationError(
_('Tipo do Protocolo deve ser o mesmo do Tipo Matéria')) _('O Tipo de Matéria do Protocolo deve ser o mesmo Tipo da Matéria.'))
ano_origem_externa = cleaned_data['ano_origem_externa'] ano_origem_externa = cleaned_data['ano_origem_externa']
data_origem_externa = cleaned_data['data_origem_externa'] data_origem_externa = cleaned_data['data_origem_externa']

Loading…
Cancel
Save