From 010efbedd8c153be57fa56327c818c5c16079593 Mon Sep 17 00:00:00 2001 From: Cesar Augusto de Carvalho Date: Wed, 17 Apr 2019 14:56:29 -0300 Subject: [PATCH] =?UTF-8?q?Fix=20#2711=20e=20erro=20introduzido=20no=20com?= =?UTF-8?q?mit=207f90bd7=20-=20Numera=C3=A7=C3=A3o=20de=20Proposi=C3=A7?= =?UTF-8?q?=C3=B5es=20e=20Protocolos=20(#2733)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix 2711 e erro introduzido no commit 7f90bd7 * Corrige CHOICES de tramitacao --- sapl/base/forms.py | 3 +- .../migrations/0034_auto_20190417_0941.py | 29 +++++++++++++++++++ .../migrations/0035_auto_20190417_1009.py | 20 +++++++++++++ .../migrations/0036_auto_20190417_1432.py | 20 +++++++++++++ sapl/base/models.py | 17 +++++++---- sapl/materia/forms.py | 22 +++++++------- .../migrations/0046_auto_20190417_0941.py | 20 +++++++++++++ .../migrations/0047_auto_20190417_1432.py | 20 +++++++++++++ sapl/materia/models.py | 4 +-- sapl/templates/base/layouts.yaml | 3 +- 10 files changed, 137 insertions(+), 21 deletions(-) create mode 100644 sapl/base/migrations/0034_auto_20190417_0941.py create mode 100644 sapl/base/migrations/0035_auto_20190417_1009.py create mode 100644 sapl/base/migrations/0036_auto_20190417_1432.py create mode 100644 sapl/materia/migrations/0046_auto_20190417_0941.py create mode 100644 sapl/materia/migrations/0047_auto_20190417_1432.py diff --git a/sapl/base/forms.py b/sapl/base/forms.py index 78ceb96b4..b04fddbd6 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -1203,7 +1203,8 @@ class ConfiguracoesAppForm(ModelForm): class Meta: model = AppConfig fields = ['documentos_administrativos', - 'sequencia_numeracao', + 'sequencia_numeracao_protocolo', + 'sequencia_numeracao_proposicao', 'esfera_federacao', # 'painel_aberto', # TODO: a ser implementado na versão 3.2 'texto_articulado_proposicao', diff --git a/sapl/base/migrations/0034_auto_20190417_0941.py b/sapl/base/migrations/0034_auto_20190417_0941.py new file mode 100644 index 000000000..01d7347b4 --- /dev/null +++ b/sapl/base/migrations/0034_auto_20190417_0941.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-04-17 12:41 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0033_auto_20190415_1050'), + ] + + operations = [ + migrations.RemoveField( + model_name='appconfig', + name='sequencia_numeracao', + ), + migrations.AddField( + model_name='appconfig', + name='sequencia_numeracao_proposicao', + field=models.CharField(choices=[('A', 'Sequencial por ano para cada autor'), ('B', 'Sequencial por ano indepententemente do autor'), ('L', 'Sequencial por legislatura'), ('U', 'Sequencial único')], default='A', max_length=1, verbose_name='Sequência de numeração de proposições'), + ), + migrations.AddField( + model_name='appconfig', + name='sequencia_numeracao_protocolo', + field=models.CharField(choices=[('A', 'Sequencial por ano para cada autor'), ('L', 'Sequencial por legislatura'), ('U', 'Sequencial único')], default='A', max_length=1, verbose_name='Sequência de numeração de protocolos'), + ), + ] diff --git a/sapl/base/migrations/0035_auto_20190417_1009.py b/sapl/base/migrations/0035_auto_20190417_1009.py new file mode 100644 index 000000000..ba76ca4d0 --- /dev/null +++ b/sapl/base/migrations/0035_auto_20190417_1009.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-04-17 13:09 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0034_auto_20190417_0941'), + ] + + operations = [ + migrations.AlterField( + model_name='appconfig', + name='sequencia_numeracao_proposicao', + field=models.CharField(choices=[('A', 'Sequencial por ano para cada autor'), ('B', 'Sequencial por ano indepententemente do autor')], default='A', max_length=1, verbose_name='Sequência de numeração de proposições'), + ), + ] diff --git a/sapl/base/migrations/0036_auto_20190417_1432.py b/sapl/base/migrations/0036_auto_20190417_1432.py new file mode 100644 index 000000000..47720668a --- /dev/null +++ b/sapl/base/migrations/0036_auto_20190417_1432.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-04-17 17:32 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0035_auto_20190417_1009'), + ] + + operations = [ + migrations.AlterField( + model_name='appconfig', + name='sequencia_numeracao_protocolo', + field=models.CharField(choices=[('A', 'Sequencial por ano'), ('L', 'Sequencial por legislatura'), ('U', 'Sequencial único')], default='A', max_length=1, verbose_name='Sequência de numeração de protocolos'), + ), + ] diff --git a/sapl/base/models.py b/sapl/base/models.py index 62ddd4e8a..1bb4858c3 100644 --- a/sapl/base/models.py +++ b/sapl/base/models.py @@ -17,11 +17,13 @@ TIPO_DOCUMENTO_ADMINISTRATIVO = ((DOC_ADM_OSTENSIVO, _('Ostensiva')), RELATORIO_ATOS_ACESSADOS = (('S', _('Sim')), ('N', _('Não'))) -SEQUENCIA_NUMERACAO = (('A', _('Sequencial por ano para cada autor')), - ('B', _('Sequencial por ano indepententemente do autor')), +SEQUENCIA_NUMERACAO_PROTOCOLO = (('A', _('Sequencial por ano')), ('L', _('Sequencial por legislatura')), ('U', _('Sequencial único'))) +SEQUENCIA_NUMERACAO_PROPOSICAO = (('A', _('Sequencial por ano para cada autor')), + ('B', _('Sequencial por ano indepententemente do autor'))) + ESFERA_FEDERACAO_CHOICES = (('M', _('Municipal')), ('E', _('Estadual')), ('F', _('Federal')), @@ -95,10 +97,15 @@ class AppConfig(models.Model): verbose_name=_('Estatísticas de acesso a normas'), choices=RELATORIO_ATOS_ACESSADOS, default='N') - sequencia_numeracao = models.CharField( + sequencia_numeracao_proposicao = models.CharField( + max_length=1, + verbose_name=_('Sequência de numeração de proposições'), + choices=SEQUENCIA_NUMERACAO_PROPOSICAO, default='A') + + sequencia_numeracao_protocolo = models.CharField( max_length=1, - verbose_name=_('Sequência de numeração'), - choices=SEQUENCIA_NUMERACAO, default='A') + verbose_name=_('Sequência de numeração de protocolos'), + choices=SEQUENCIA_NUMERACAO_PROTOCOLO, default='A') esfera_federacao = models.CharField( max_length=1, diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index 41f3b550a..27b1250af 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -1508,10 +1508,10 @@ class ProposicaoForm(FileFieldCheckMixin, forms.ModelForm): 'hash_code': forms.HiddenInput(), } def __init__(self, *args, **kwargs): - self.texto_articulado_proposicao = sapl.base.models.AppConfig.attr( + self.texto_articulado_proposicao = AppConfig.attr( 'texto_articulado_proposicao') - self.receber_recibo = sapl.base.models.AppConfig.attr( + self.receber_recibo = AppConfig.attr( 'receber_recibo_proposicao') if not self.texto_articulado_proposicao: @@ -1533,7 +1533,7 @@ class ProposicaoForm(FileFieldCheckMixin, forms.ModelForm): ] - if sapl.base.models.AppConfig.objects.last().escolher_numero_materia_proposicao: + if AppConfig.objects.last().escolher_numero_materia_proposicao: fields.append(to_column(('numero_materia_futuro', 12)),) else: if 'numero_materia_futuro' in self._meta.fields: @@ -1666,7 +1666,7 @@ class ProposicaoForm(FileFieldCheckMixin, forms.ModelForm): return super().save(commit) inst.ano = timezone.now().year - sequencia_numeracao = AppConfig.attr('sequencia_numeracao') + sequencia_numeracao = AppConfig.attr('sequencia_numeracao_proposicao') if sequencia_numeracao == 'A': numero__max = Proposicao.objects.filter( autor=inst.autor, @@ -1806,8 +1806,7 @@ class ConfirmarProposicaoForm(ProposicaoForm): def __init__(self, *args, **kwargs): self.proposicao_incorporacao_obrigatoria = \ - sapl.base.models.AppConfig.attr( - 'proposicao_incorporacao_obrigatoria') + AppConfig.attr('proposicao_incorporacao_obrigatoria') if self.proposicao_incorporacao_obrigatoria != 'C': if 'gerar_protocolo' in self._meta.fields: @@ -1859,7 +1858,7 @@ class ConfirmarProposicaoForm(ProposicaoForm): ) ] - if not sapl.base.models.AppConfig.objects.last().escolher_numero_materia_proposicao or \ + if not AppConfig.objects.last().escolher_numero_materia_proposicao or \ not self.instance.numero_materia_futuro: if 'numero_materia_futuro' in self._meta.fields: del fields[0][0][3] @@ -1939,7 +1938,7 @@ class ConfirmarProposicaoForm(ProposicaoForm): if not self.is_valid(): return self.cleaned_data - numeracao = sapl.base.models.AppConfig.attr('sequencia_numeracao') + numeracao = AppConfig.attr('sequencia_numeracao_proposicao') if not numeracao: self.logger.error("A sequência de numeração (por ano ou geral)" @@ -2016,8 +2015,8 @@ class ConfirmarProposicaoForm(ProposicaoForm): try: self.logger.debug( "Tentando obter modelo de sequência de numeração.") - numeracao = sapl.base.models.AppConfig.objects.last( - ).sequencia_numeracao + numeracao = AppConfig.objects.last( + ).sequencia_numeracao_protocolo except AttributeError as e: self.logger.error("Erro ao obter modelo. " + str(e)) pass @@ -2043,7 +2042,6 @@ class ConfirmarProposicaoForm(ProposicaoForm): elif numeracao == 'U': numero = MateriaLegislativa.objects.filter( tipo=tipo).aggregate(Max('numero')) - if numeracao is None: numero['numero__max'] = 0 @@ -2169,7 +2167,7 @@ class ConfirmarProposicaoForm(ProposicaoForm): GenericForeignKey """ - numeracao = sapl.base.models.AppConfig.attr('sequencia_numeracao') + numeracao = AppConfig.attr('sequencia_numeracao_protocolo') if numeracao == 'A': nm = Protocolo.objects.filter( ano=timezone.now().year).aggregate(Max('numero')) diff --git a/sapl/materia/migrations/0046_auto_20190417_0941.py b/sapl/materia/migrations/0046_auto_20190417_0941.py new file mode 100644 index 000000000..f98170042 --- /dev/null +++ b/sapl/materia/migrations/0046_auto_20190417_0941.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-04-17 12:41 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('materia', '0045_auto_20190415_1050'), + ] + + operations = [ + migrations.AlterField( + model_name='tipomaterialegislativa', + name='sequencia_numeracao', + field=models.CharField(blank=True, choices=[('A', 'Sequencial por ano para cada autor'), ('L', 'Sequencial por legislatura'), ('U', 'Sequencial único')], max_length=1, verbose_name='Sequência de numeração'), + ), + ] diff --git a/sapl/materia/migrations/0047_auto_20190417_1432.py b/sapl/materia/migrations/0047_auto_20190417_1432.py new file mode 100644 index 000000000..12783fe3a --- /dev/null +++ b/sapl/materia/migrations/0047_auto_20190417_1432.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-04-17 17:32 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('materia', '0046_auto_20190417_0941'), + ] + + operations = [ + migrations.AlterField( + model_name='tipomaterialegislativa', + name='sequencia_numeracao', + field=models.CharField(blank=True, choices=[('A', 'Sequencial por ano'), ('L', 'Sequencial por legislatura'), ('U', 'Sequencial único')], max_length=1, verbose_name='Sequência de numeração'), + ), + ] diff --git a/sapl/materia/models.py b/sapl/materia/models.py index c7aaaed15..db535e406 100644 --- a/sapl/materia/models.py +++ b/sapl/materia/models.py @@ -10,7 +10,7 @@ from django.utils.translation import ugettext_lazy as _ from model_utils import Choices import reversion -from sapl.base.models import SEQUENCIA_NUMERACAO, Autor +from sapl.base.models import SEQUENCIA_NUMERACAO_PROTOCOLO, Autor from sapl.comissoes.models import Comissao from sapl.compilacao.models import (PerfilEstruturalTextoArticulado, TextoArticulado) @@ -128,7 +128,7 @@ class TipoMateriaLegislativa(models.Model): max_length=1, blank=True, verbose_name=_('Sequência de numeração'), - choices=SEQUENCIA_NUMERACAO) + choices=SEQUENCIA_NUMERACAO_PROTOCOLO) sequencia_regimental = models.PositiveIntegerField( default=0, diff --git a/sapl/templates/base/layouts.yaml b/sapl/templates/base/layouts.yaml index 3d248c313..4768577b8 100644 --- a/sapl/templates/base/layouts.yaml +++ b/sapl/templates/base/layouts.yaml @@ -18,7 +18,8 @@ AppConfig: - esfera_federacao {% trans 'Proposições e Protocolo' %}: - - sequencia_numeracao protocolo_manual receber_recibo_proposicao + - sequencia_numeracao_proposicao sequencia_numeracao_protocolo + - protocolo_manual receber_recibo_proposicao - proposicao_incorporacao_obrigatoria escolher_numero_materia_proposicao {% trans 'Textos Articulados' %}: