Browse Source

Feat(Assinatura): Configuração de nome na assinatura digital (político vs civil)

Adiciona parâmetro em Sistema > Configurações da Aplicação para escolher
entre nome político (parlamentar) e nome civil na assinatura digital de
Matérias Legislativas. Inclui atalho no menu /sistema/.
pull/3858/head
rangelbruno 7 months ago
parent
commit
f32789324c
  1. 1
      sapl/base/forms.py
  2. 21
      sapl/base/migrations/0062_appconfig_assinatura_nome.py
  3. 12
      sapl/base/models.py
  4. 5
      sapl/materia/views_assinatura.py
  5. 3
      sapl/templates/base/layouts.yaml
  6. 3
      sapl/templates/menu_tabelas_auxiliares.yaml

1
sapl/base/forms.py

@ -1081,6 +1081,7 @@ class ConfiguracoesAppForm(ModelForm):
'google_recaptcha_secret_key',
'google_analytics_id_metrica',
'identificacao_de_documentos',
'assinatura_nome',
]
def __init__(self, *args, **kwargs):

21
sapl/base/migrations/0062_appconfig_assinatura_nome.py

@ -0,0 +1,21 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('base', '0061_documenttemplate'),
]
operations = [
migrations.AddField(
model_name='appconfig',
name='assinatura_nome',
field=models.CharField(
choices=[('P', 'Nome Político (Parlamentar)'), ('C', 'Nome Civil (Real)')],
default='P',
max_length=1,
verbose_name='Nome utilizado na assinatura digital',
),
),
]

12
sapl/base/models.py

@ -48,6 +48,11 @@ ASSINATURA_ATA_CHOICES = (
('T', _('Todos os Parlamentares Presentes na Sessão')),
)
TIPO_NOME_ASSINATURA = (
('P', _('Nome Político (Parlamentar)')),
('C', _('Nome Civil (Real)')),
)
ORDENACAO_PESQUISA_MATERIA = (
('S', _('Alfabética por Sigla')),
('R', _('Sequência Regimental')),
@ -222,6 +227,13 @@ class AppConfig(models.Model):
assinatura_ata = models.CharField(
verbose_name=_('Quem deve assinar a ata'),
max_length=1, choices=ASSINATURA_ATA_CHOICES, default='T')
# MÓDULO ASSINATURA DIGITAL
assinatura_nome = models.CharField(
max_length=1,
verbose_name=_('Nome utilizado na assinatura digital'),
choices=TIPO_NOME_ASSINATURA,
default='P')
# MÓDULO PAINEL
cronometro_discurso = models.DurationField(
verbose_name=_('Cronômetro do Discurso'),

5
sapl/materia/views_assinatura.py

@ -19,6 +19,7 @@ from django.utils import timezone
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.http import require_http_methods
from sapl.base.models import AppConfig
from sapl.materia.models import MateriaLegislativa
logger = logging.getLogger(__name__)
@ -250,6 +251,10 @@ def materia_assinar_a1(request, pk):
).first()
if parlamentar:
cargo = "Vereador(a)"
tipo_nome = AppConfig.attr('assinatura_nome')
if tipo_nome == 'C':
nome_assinante = parlamentar.nome_completo
else:
nome_assinante = parlamentar.nome_parlamentar
except:
pass

3
sapl/templates/base/layouts.yaml

@ -45,6 +45,9 @@ AppConfig:
{% trans 'Módulo Sessão Plenária' %}:
- assinatura_ata
{% trans 'Módulo Assinatura Digital' %}:
- assinatura_nome
{% trans 'Módulo Painel' %}:
- cronometro_discurso cronometro_aparte
- cronometro_ordem cronometro_consideracoes

3
sapl/templates/menu_tabelas_auxiliares.yaml

@ -17,6 +17,9 @@
- title: {% trans 'Templates de Documentos' %}
url: sapl.base:documenttemplate_list
css_class: btn btn-link
- title: {% trans 'Assinatura Digital' %}
url: sapl.base:appconfig_list
css_class: btn btn-link
{% if not sapl_as_sapn%}
- title: {% trans 'Módulo Parlamentares' %}
css_class: head_title

Loading…
Cancel
Save