diff --git a/sapl/base/forms.py b/sapl/base/forms.py index 64b3e43f9..0fe2c311d 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -1552,6 +1552,7 @@ class ConfiguracoesAppForm(ModelForm): fields = ['documentos_administrativos', 'sequencia_numeracao_protocolo', 'inicio_numeracao_protocolo', + 'registro_numeracao_materia', 'sequencia_numeracao_proposicao', 'esfera_federacao', # 'painel_aberto', # TODO: a ser implementado na versão 3.2 diff --git a/sapl/base/migrations/0042_appconfig_registro_numeracao_materia.py b/sapl/base/migrations/0042_appconfig_registro_numeracao_materia.py new file mode 100644 index 000000000..745a1f4ea --- /dev/null +++ b/sapl/base/migrations/0042_appconfig_registro_numeracao_materia.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.13 on 2020-09-14 16:41 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0041_merge_20200818_1256'), + ] + + operations = [ + migrations.AddField( + model_name='appconfig', + name='registro_numeracao_materia', + field=models.CharField(choices=[('N', 'Não registrar numeração'), ('A', 'Registrar numeração - sequencial por ano'), ('U', 'Registrar numeração - sequencial única')], default='N', max_length=1, verbose_name='Registro de numeração na criação de matérias'), + ), + ] diff --git a/sapl/base/migrations/0043_auto_20200915_1419.py b/sapl/base/migrations/0043_auto_20200915_1419.py new file mode 100644 index 000000000..03d4149bc --- /dev/null +++ b/sapl/base/migrations/0043_auto_20200915_1419.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.13 on 2020-09-15 17:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0042_appconfig_registro_numeracao_materia'), + ] + + operations = [ + migrations.AlterField( + model_name='appconfig', + name='registro_numeracao_materia', + field=models.CharField(choices=[('N', 'Não registrar numeração de processo'), ('A', 'Registrar numeração de processo - sequencial por ano'), ('U', 'Registrar numeração de processo - sequencial única')], default='N', max_length=1, verbose_name='Registro de numeração de processo na criação de matérias'), + ), + ] diff --git a/sapl/base/models.py b/sapl/base/models.py index b619a1e97..bb592b489 100644 --- a/sapl/base/models.py +++ b/sapl/base/models.py @@ -22,6 +22,12 @@ SEQUENCIA_NUMERACAO_PROTOCOLO = (('A', _('Sequencial por ano')), ('L', _('Sequencial por legislatura')), ('U', _('Sequencial único'))) +REGISTRO_NUMERACAO_MATERIA = ( + ('N', _('Não registrar numeração de processo')), + ('A', _('Registrar numeração de processo - sequencial por ano')), + ('U', _('Registrar numeração de processo - sequencial única')) +) + SEQUENCIA_NUMERACAO_PROPOSICAO = (('A', _('Sequencial por ano para cada autor')), ('B', _('Sequencial por ano indepententemente do autor'))) @@ -113,6 +119,14 @@ class AppConfig(models.Model): default=1 ) + registro_numeracao_materia = models.CharField( + max_length=1, + verbose_name=_( + 'Registro de numeração de processo na criação de matérias' + ), + choices=REGISTRO_NUMERACAO_MATERIA, default='N' + ) + esfera_federacao = models.CharField( max_length=1, blank=True, diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index 1bd594ab0..d2e15db02 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -852,7 +852,7 @@ class NumeracaoForm(ModelForm): ano_materia=self.cleaned_data['ano_materia'], numero_materia=self.cleaned_data['numero_materia'] ).exists(): - msg = _('Essa numeração já foi cadastrada.') + msg = _('Essa numeração de processo já foi cadastrada.') self.logger.error("Essa numeração (materia={}, tipo_materia={}, ano_materia={}, numero_materia={}) " "já foi cadastrada.".format(self.instance.materia, self.cleaned_data['tipo_materia'], self.cleaned_data['ano_materia'], self.cleaned_data['numero_materia'])) @@ -998,7 +998,7 @@ class MateriaLegislativaFilterSet(django_filters.FilterSet): numeracao__numero_materia = django_filters.NumberFilter( required=False, - label=_('Número do processo')) + label=_('Número de processo')) o = MateriaPesquisaOrderingFilter(help_text='') diff --git a/sapl/materia/migrations/0074_auto_20200915_1419.py b/sapl/materia/migrations/0074_auto_20200915_1419.py new file mode 100644 index 000000000..01def1ce5 --- /dev/null +++ b/sapl/materia/migrations/0074_auto_20200915_1419.py @@ -0,0 +1,17 @@ +# Generated by Django 2.2.13 on 2020-09-15 17:19 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('materia', '0073_auto_20200910_1420'), + ] + + operations = [ + migrations.AlterModelOptions( + name='numeracao', + options={'ordering': ('materia', 'tipo_materia', 'numero_materia', 'ano_materia', 'data_materia'), 'verbose_name': 'Numeração de Processo', 'verbose_name_plural': 'Numerações de Processo'}, + ), + ] diff --git a/sapl/materia/models.py b/sapl/materia/models.py index 0f17761bb..78525180d 100644 --- a/sapl/materia/models.py +++ b/sapl/materia/models.py @@ -648,8 +648,8 @@ class Numeracao(models.Model): data_materia = models.DateField(verbose_name=_('Data'), null=True) class Meta: - verbose_name = _('Numeração') - verbose_name_plural = _('Numerações') + verbose_name = _('Numeração de Processo') + verbose_name_plural = _('Numerações de Processo') ordering = ('materia', 'tipo_materia', 'numero_materia', diff --git a/sapl/materia/views.py b/sapl/materia/views.py index 2545064ad..20bde16ca 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -1712,6 +1712,57 @@ class MateriaLegislativaCrud(Crud): return initial + def form_valid(self, form): + self.object = form.save() + tipo_materia = TipoMateriaLegislativa.objects.get(id=self.object.tipo_id) + + self.logger.debug( + "Tentando obter a configuração selecionada para o registro de numeração " \ + "de processo na criação de materias." + ) + config = BaseAppConfig.objects.last().registro_numeracao_materia + if not config: + self.logger.error( + "Não foi possível obter a configuração selecionada para o registro " \ + "de numeração de processo na criação de matérias." + ) + + msg = _( + 'Não foi possível obter a configuração selecionada para o registro ' \ + 'de numeração de processo na criação de matérias.' + ) + messages.add_message(self.request, messages.WARNING, msg) + elif config == "A": + numeros = [ + int(n.numero_materia) for n in Numeracao.objects.filter( + ano_materia=self.object.ano + ) + ] + numeros.sort() + numero = numeros[len(numeros)-1] + 1 if numeros else 1 + + Numeracao.objects.create( + materia=self.object, tipo_materia=tipo_materia, + numero_materia=numero, ano_materia=self.object.ano, + data_materia=self.object.data_apresentacao + ) + elif config == "U": + numeros = [ int(n.numero_materia) for n in Numeracao.objects.all() ] + numeros.sort() + numero = numeros[len(numeros)-1] + 1 if numeros else 1 + + Numeracao.objects.create( + materia=self.object, tipo_materia=tipo_materia, + numero_materia=numero, ano_materia=self.object.ano, + data_materia=self.object.data_apresentacao + ) + else: + self.logger.debug( + "A configuração selecionada para o registro de numeração de processo" \ + " na criação de matérias é: Não registrar numeração de processo." + ) + return super().form_valid(form) + @property def cancel_url(self): return self.search_url diff --git a/sapl/relatorios/templates/pdf_detalhe_materia_gerar.py b/sapl/relatorios/templates/pdf_detalhe_materia_gerar.py index 43224d282..d892de863 100755 --- a/sapl/relatorios/templates/pdf_detalhe_materia_gerar.py +++ b/sapl/relatorios/templates/pdf_detalhe_materia_gerar.py @@ -300,7 +300,7 @@ def relatorias(lst_relatorias): def numeracoes(lst_numeracoes): tmp = '' - tmp += '\t\tNumerações\n' + tmp += '\t\tNumerações de Processo\n' for dic_dados in lst_numeracoes: tmp += '\t\tNome: ' + \ dic_dados['nome'] + '\n' diff --git a/sapl/templates/ajuda.html b/sapl/templates/ajuda.html index 7e2cda99d..68c1ae102 100644 --- a/sapl/templates/ajuda.html +++ b/sapl/templates/ajuda.html @@ -95,7 +95,7 @@
  • Para inclusão de Matéria Anexada, acione a função "Matéria Anexada"
  • Para inclusão de Tramitação, acione a função "Tramitação"
  • Para inclusão da Relatoria, acione a função "Relatoria"
  • -
  • Para inclusão de Numeração, acione a função "Numeração"
  • +
  • Para inclusão de Numeração de Processo, acione a função "Numeração de Processo"
  • Para inclusão de Documentos Acessórios, acione a função "Documentos Acessórios"
  • diff --git a/sapl/templates/ajuda/cadastro_materia.html b/sapl/templates/ajuda/cadastro_materia.html index 9f12c2653..7ae740cde 100644 --- a/sapl/templates/ajuda/cadastro_materia.html +++ b/sapl/templates/ajuda/cadastro_materia.html @@ -506,7 +506,7 @@ matéria tais como: Anexada, Tramitação, Relatoria, -Numeração e +Numeração de Processo e Documentos Acessórios.
    diff --git a/sapl/templates/ajuda/consultas.html b/sapl/templates/ajuda/consultas.html index a21142991..85edeedf3 100644 --- a/sapl/templates/ajuda/consultas.html +++ b/sapl/templates/ajuda/consultas.html @@ -457,7 +457,7 @@ Para ter acesso as informações completas da matéria, tecle na matéria e navegue nos  itens, Anexada, Autoria, Despacho Inicial, Documento Acessório, Legislação Citada, -Numeração, Tramitação e +Numeração de Processo, Tramitação e Relatoria.
    A função “Início”, retorna sempre o início das diff --git a/sapl/templates/ajuda/numeracao_docsacess.html b/sapl/templates/ajuda/numeracao_docsacess.html index 912bf0ac0..93a44b83c 100644 --- a/sapl/templates/ajuda/numeracao_docsacess.html +++ b/sapl/templates/ajuda/numeracao_docsacess.html @@ -7,16 +7,16 @@ -

    Para inclusão de Numeração, +

    Para inclusão de Numeração de Processo, acione a função -“Numeração”

    +“Numeração de Processo”


    Será exibida a tela com as informações da matéria (tipo, número e ano), e a -relação de numeração +relação de numeração de processo já cadastrada.
    -Acione o botão “Incluir -Numeração”
    +Acione o botão “Adicionar +Numeração de Processo”
    Preencha os campos:

    @@ -97,21 +97,20 @@ Acione a função  “Salvar” para que as informações sejam salvas no arquivo.
    Será enviada a mensagem: -Numeração salva com sucesso!
    +Registro criado com sucesso!

    -Para alterar uma Numeração, selecione a +Para alterar uma Numeração de Processo, selecione a Numeração desejada, altere as informações e acione a função “Salvar”.
    -Para excluir uma Numeração, selecione a +Para excluir uma Numeração de Processo, selecione a Numeração desejada e acione a função “Excluir”.
    Será enviada a pergunta “Deseja realmente excluir?”
    Acione Confirmar em caso positivo ou Cancelar para o caso de desistência da exclusão.
    -Quando for informado Confirmar será enviada a mensagem: Numeração -excluída com sucesso!
    +Quando for informado Confirmar será enviada a mensagem: Registro excluído com sucesso!

    Para inclusão de Documentos Acessórios, diff --git a/sapl/templates/base/layouts.yaml b/sapl/templates/base/layouts.yaml index 79d84c4c1..b657b31b1 100644 --- a/sapl/templates/base/layouts.yaml +++ b/sapl/templates/base/layouts.yaml @@ -22,6 +22,9 @@ AppConfig: - protocolo_manual receber_recibo_proposicao - proposicao_incorporacao_obrigatoria escolher_numero_materia_proposicao + {% trans 'Matérias Legislativas' %}: + - registro_numeracao_materia + {% trans 'Tramitações' %}: - tramitacao_materia tramitacao_documento diff --git a/sapl/templates/materia/layouts.yaml b/sapl/templates/materia/layouts.yaml index 142dcdf91..25a620645 100644 --- a/sapl/templates/materia/layouts.yaml +++ b/sapl/templates/materia/layouts.yaml @@ -76,7 +76,7 @@ DocumentoAcessorio: - arquivo Numeracao: - {% trans 'Numeração' %}: + {% trans 'Numeração de Processo' %}: - tipo_materia numero_materia ano_materia data_materia Orgao: diff --git a/sapl/templates/materia/subnav.yaml b/sapl/templates/materia/subnav.yaml index c2ea4cd71..69e0814ef 100644 --- a/sapl/templates/materia/subnav.yaml +++ b/sapl/templates/materia/subnav.yaml @@ -14,7 +14,7 @@ - title: {% trans 'Legislação Citada' %} url: legislacaocitada_list app_name: 'materia' -- title: {% trans 'Numeração' %} +- title: {% trans 'Numeração de Processo' %} url: numeracao_list - title: {% trans 'Tramitação' %} url: tramitacao_list