From 792fdc1c06d969c067e51998ce2b58b189a2d5f0 Mon Sep 17 00:00:00 2001 From: ulyssesBML Date: Wed, 15 Jan 2020 12:38:05 -0300 Subject: [PATCH] Adicionando campo de caractere identificador Fix #3076 --- sapl/protocoloadm/forms.py | 28 +++++++++++++------ ...oadministrativo_caractere_identificador.py | 20 +++++++++++++ sapl/protocoloadm/models.py | 4 +++ sapl/templates/protocoloadm/layouts.yaml | 3 +- 4 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 sapl/protocoloadm/migrations/0031_documentoadministrativo_caractere_identificador.py diff --git a/sapl/protocoloadm/forms.py b/sapl/protocoloadm/forms.py index 82bba2372..14575121f 100644 --- a/sapl/protocoloadm/forms.py +++ b/sapl/protocoloadm/forms.py @@ -180,6 +180,7 @@ class DocumentoAdministrativoFilterSet(django_filters.FilterSet): model = DocumentoAdministrativo fields = ['tipo', 'numero', + 'caractere_identificador', 'protocolo__numero', 'numero_externo', 'data', @@ -200,17 +201,21 @@ class DocumentoAdministrativoFilterSet(django_filters.FilterSet): ('o', 4), ]) row2 = to_row( - [('numero', 2), - ('ano', 2), - ('protocolo__numero', 2), - ('numero_externo', 2), - ('data', 4)]) + [('numero', 4), + ('caractere_identificador',4), + ('ano', 4)]) row3 = to_row( + [('protocolo__numero', 4), + ('numero_externo', 4), + ('data', 4) + ]) + + row4 = to_row( [('interessado', 6), ('assunto', 6)]) - row4 = to_row( + row5 = to_row( [ ('tramitacao', 2), ('tramitacaoadministrativo__status', 4), @@ -239,7 +244,7 @@ class DocumentoAdministrativoFilterSet(django_filters.FilterSet): Fieldset(_('Pesquisar Documento'), row1, row2, row3, row4, - buttons,) + row5, buttons,) ) @@ -1080,6 +1085,7 @@ class DocumentoAdministrativoForm(FileFieldCheckMixin, ModelForm): model = DocumentoAdministrativo fields = ['tipo', 'numero', + 'caractere_identificador', 'ano', 'data', 'numero_protocolo', @@ -1115,6 +1121,7 @@ class DocumentoAdministrativoForm(FileFieldCheckMixin, ModelForm): numero_protocolo = self.data['numero_protocolo'] ano_protocolo = self.data['ano_protocolo'] + caractere_identificador = self.data['caractere_identificador'] numero_documento = int(self.cleaned_data['numero']) tipo_documento = int(self.data['tipo']) ano_documento = int(self.data['ano']) @@ -1128,7 +1135,10 @@ class DocumentoAdministrativoForm(FileFieldCheckMixin, ModelForm): if not self.instance.pk or mudanca_doc: doc_exists = DocumentoAdministrativo.objects.filter(numero=numero_documento, tipo=tipo_documento, - ano=ano_documento).exists() + ano=ano_documento, + caractere_identificador=caractere_identificador).exists() + + import pdb;pdb.set_trace() if doc_exists: self.logger.error("DocumentoAdministrativo (numero={}, tipo={} e ano={}) já existe." .format(numero_documento, tipo_documento, ano_documento)) @@ -1194,7 +1204,7 @@ class DocumentoAdministrativoForm(FileFieldCheckMixin, ModelForm): def __init__(self, *args, **kwargs): row1 = to_row( - [('tipo', 6), ('numero', 3), ('ano', 3)]) + [('tipo', 3), ('numero', 3),('caractere_identificador', 3), ('ano', 3)]) row2 = to_row( [('data', 4), ('numero_protocolo', 4), ('ano_protocolo', 4)]) diff --git a/sapl/protocoloadm/migrations/0031_documentoadministrativo_caractere_identificador.py b/sapl/protocoloadm/migrations/0031_documentoadministrativo_caractere_identificador.py new file mode 100644 index 000000000..97f1eb0ea --- /dev/null +++ b/sapl/protocoloadm/migrations/0031_documentoadministrativo_caractere_identificador.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.26 on 2020-01-15 14:41 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('protocoloadm', '0030_auto_20200114_1121'), + ] + + operations = [ + migrations.AddField( + model_name='documentoadministrativo', + name='caractere_identificador', + field=models.CharField(blank=True, max_length=10, verbose_name='Caractere Identificador'), + ), + ] diff --git a/sapl/protocoloadm/models.py b/sapl/protocoloadm/models.py index b9582a204..bf5c750c1 100644 --- a/sapl/protocoloadm/models.py +++ b/sapl/protocoloadm/models.py @@ -134,6 +134,10 @@ class DocumentoAdministrativo(models.Model): TipoDocumentoAdministrativo, on_delete=models.PROTECT, verbose_name=_('Tipo Documento')) numero = models.PositiveIntegerField(verbose_name=_('Número')) + + caractere_identificador = models.CharField(max_length=10, blank=True, + verbose_name=_('Caractere Identificador')) + ano = models.PositiveSmallIntegerField(verbose_name=_('Ano'), choices=RANGE_ANOS) protocolo = models.ForeignKey( diff --git a/sapl/templates/protocoloadm/layouts.yaml b/sapl/templates/protocoloadm/layouts.yaml index 3f78f676e..4e9005512 100644 --- a/sapl/templates/protocoloadm/layouts.yaml +++ b/sapl/templates/protocoloadm/layouts.yaml @@ -5,7 +5,8 @@ TipoDocumentoAdministrativo: DocumentoAdministrativo: {% trans 'Identificação Básica' %}: - - tipo numero ano + - tipo + - numero caractere_identificador ano - data protocolo - assunto - interessado tramitacao