67 lines
2.8 KiB
Python
67 lines
2.8 KiB
Python
# /SGMP_PROD/solicitacoes/context_processors.py
|
|
|
|
from .acesso import usuario_pode_gerenciar_permissoes
|
|
from .models import UsuarioSistema
|
|
|
|
|
|
def usuario_sistema(request):
|
|
"""
|
|
Context processor que adiciona o UsuarioSistema ao contexto de todos os templates.
|
|
"""
|
|
if request.user.is_authenticated:
|
|
try:
|
|
usuario = UsuarioSistema.objects.get(
|
|
matricula=request.user.username,
|
|
ativo=True
|
|
)
|
|
usuario_eh_admin = usuario.tem_perfil(UsuarioSistema.Perfil.ADMIN)
|
|
usuario_eh_gestor = usuario.tem_perfil(UsuarioSistema.Perfil.GESTOR)
|
|
usuario_eh_diretoria = usuario.tem_perfil(UsuarioSistema.Perfil.DIRETORIA)
|
|
usuario_eh_gg = usuario.tem_perfil(UsuarioSistema.Perfil.GG)
|
|
usuario_eh_controladoria = usuario.tem_perfil(UsuarioSistema.Perfil.CONTROLADORIA)
|
|
usuario_eh_head = usuario.tem_perfil(UsuarioSistema.Perfil.HEAD)
|
|
return {
|
|
"usuario_sistema": usuario,
|
|
"usuario_eh_admin": usuario_eh_admin,
|
|
"usuario_eh_gestor": usuario_eh_gestor,
|
|
"usuario_eh_diretoria": usuario_eh_diretoria,
|
|
"usuario_eh_gg": usuario_eh_gg,
|
|
"usuario_eh_controladoria": usuario_eh_controladoria,
|
|
"usuario_eh_head": usuario_eh_head,
|
|
"usuario_pode_criar_solicitacao": (
|
|
usuario_eh_gestor or usuario_eh_admin or usuario_eh_diretoria
|
|
),
|
|
"usuario_pode_ver_todas_solicitacoes": (
|
|
usuario.perfil != UsuarioSistema.Perfil.GESTOR or usuario_eh_admin
|
|
),
|
|
"usuario_pode_gerenciar_permissoes": usuario_pode_gerenciar_permissoes(
|
|
usuario
|
|
),
|
|
}
|
|
except UsuarioSistema.DoesNotExist:
|
|
return {
|
|
"usuario_sistema": None,
|
|
"usuario_eh_admin": False,
|
|
"usuario_eh_gestor": False,
|
|
"usuario_eh_diretoria": False,
|
|
"usuario_eh_gg": False,
|
|
"usuario_eh_controladoria": False,
|
|
"usuario_eh_head": False,
|
|
"usuario_pode_criar_solicitacao": False,
|
|
"usuario_pode_ver_todas_solicitacoes": False,
|
|
"usuario_pode_gerenciar_permissoes": False,
|
|
}
|
|
return {
|
|
"usuario_sistema": None,
|
|
"usuario_eh_admin": False,
|
|
"usuario_eh_gestor": False,
|
|
"usuario_eh_diretoria": False,
|
|
"usuario_eh_gg": False,
|
|
"usuario_eh_controladoria": False,
|
|
"usuario_eh_head": False,
|
|
"usuario_pode_criar_solicitacao": False,
|
|
"usuario_pode_ver_todas_solicitacoes": False,
|
|
"usuario_pode_gerenciar_permissoes": False,
|
|
}
|
|
|