Browse Source

Feat(Assinatura): Adicionar grupo Presidente da Mesa Diretora para assinar Documento Acessório

Permite atribuir o grupo "Presidente da Mesa Diretora" diretamente ao usuário
na tela /sistema/usuario/, como alternativa à verificação via Mesa Diretora
cadastrada na Sessão Legislativa.

Signed-off-by: rangelbruno
pull/3858/head
rangelbruno 7 months ago
parent
commit
a158bdcfc6
  1. 11
      sapl/materia/views.py
  2. 2
      sapl/rules/__init__.py
  3. 8
      sapl/rules/map_rules.py

11
sapl/materia/views.py

@ -1766,6 +1766,7 @@ class DocumentoAcessorioCrud(MasterDetailCrud):
u = self.request.user
is_autor = False
is_presidente = False
is_grupo_presidente = False
if u.is_authenticated:
materia = self.object.materia
for autoria in materia.autoria_set.all():
@ -1803,13 +1804,21 @@ class DocumentoAcessorioCrud(MasterDetailCrud):
operadores=u
).exists()
# Verifica também pelo grupo "Presidente da Mesa Diretora"
from sapl.rules import SGVP_GROUP_PRESIDENTE_MESA
is_grupo_presidente = u.groups.filter(
name=SGVP_GROUP_PRESIDENTE_MESA
).exists()
context['is_autor'] = is_autor
context['pode_assinar'] = is_autor or is_presidente or (
context['pode_assinar'] = (
is_autor or is_presidente or is_grupo_presidente or (
u.is_authenticated and (
u.is_superuser or
u.has_perm('materia.change_documentoacessorio')
)
)
)
return context
class ListView(MasterDetailCrud.ListView):

2
sapl/rules/__init__.py

@ -66,6 +66,7 @@ SGVP_GROUP_PAINEL = _("Operador de Painel Eletrônico")
SGVP_GROUP_GERAL = _("Operador Geral")
SGVP_GROUP_AUTOR = _("Autor")
SGVP_GROUP_VOTANTE = _("Votante")
SGVP_GROUP_PRESIDENTE_MESA = _("Presidente da Mesa Diretora")
# TODO - funcionalidade ainda não existe mas está aqui para efeito de anotação
SGVP_GROUP_LOGIN_SOCIAL = _("Usuários com Login Social")
@ -86,6 +87,7 @@ SGVP_GROUPS = [
SGVP_GROUP_GERAL,
SGVP_GROUP_AUTOR,
SGVP_GROUP_VOTANTE,
SGVP_GROUP_PRESIDENTE_MESA,
SGVP_GROUP_LOGIN_SOCIAL,
SGVP_GROUP_ANONYMOUS,
]

8
sapl/rules/map_rules.py

@ -1,4 +1,4 @@
from sapl.rules import SGVP_GROUP_LOGIN_SOCIAL
from sapl.rules import SGVP_GROUP_LOGIN_SOCIAL, SGVP_GROUP_PRESIDENTE_MESA
from sapl.rules.group_administrativo import rules_group_administrativo
from sapl.rules.group_anonymous import rules_group_anonymous
from sapl.rules.group_audiencia import rules_group_audiencia
@ -12,6 +12,11 @@ from sapl.rules.group_protocolo import rules_group_protocolo
from sapl.rules.group_sessao import rules_group_sessao
from sapl.rules.group_votante import rules_group_votante
rules_group_presidente_mesa = {
'group': SGVP_GROUP_PRESIDENTE_MESA,
'rules': []
}
rules_group_login_social = {
'group': SGVP_GROUP_LOGIN_SOCIAL,
'rules': []
@ -93,6 +98,7 @@ rules_patterns = [
rules_group_geral,
rules_group_autor,
rules_group_votante,
rules_group_presidente_mesa,
rules_group_anonymous, # anotação para validação do teste de rules
rules_group_login_social # TODO não implementado

Loading…
Cancel
Save