# /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, }