# 🔐 Sistema de Login, Senhas e Permissões - SGMP Este documento explica como funciona o sistema de autenticação e controle de permissões do SGMP. --- ## 📋 Índice 1. [Sistema de Login](#sistema-de-login) 2. [Criação de Usuários](#criação-de-usuários) 3. [Perfis e Permissões](#perfis-e-permissões) 4. [Gerenciamento de Permissões](#gerenciamento-de-permissões) 5. [Regras de Acesso](#regras-de-acesso) 6. [Fluxo de Aprovação](#fluxo-de-aprovação) --- ## 🔑 Sistema de Login ### Autenticação O SGMP utiliza autenticação integrada com o sistema **Winthor** (TOTVS): - **Login**: Matrícula do funcionário (mesma do sistema Winthor) - **Senha**: Senha do sistema Winthor - **Validação**: As credenciais são validadas diretamente no banco Oracle do Winthor ### Processo de Login 1. O usuário acessa a página de login 2. Informa sua **matrícula** e **senha** 3. O sistema consulta o Winthor para validar as credenciais 4. Se válido: - Cria/atualiza o registro `UsuarioSistema` no banco do SGMP - Cria uma sessão Django para o usuário - Redireciona para o Dashboard 5. Se inválido: - Exibe mensagem de erro - Permanece na página de login ### Primeiro Acesso Quando um usuário faz login pela primeira vez: - Um registro `UsuarioSistema` é criado automaticamente - O perfil padrão é **GESTOR** - O usuário fica **ativo** por padrão - O nome é obtido do Winthor --- ## 👥 Criação de Usuários ### Criação Automática Os usuários são criados **automaticamente** no primeiro login: - Não é necessário criar usuários manualmente - O sistema sincroniza com o Winthor - A matrícula é usada como identificador único ### Criação Manual (Admin Django) Para criar usuários manualmente ou ajustar dados: 1. Acesse `/admin/` (painel administrativo do Django) 2. Navegue até **Solicitações → Usuários do Sistema** 3. Crie ou edite usuários conforme necessário **Campos importantes:** - **Matrícula**: Deve corresponder à matrícula do Winthor - **Nome**: Nome completo do usuário - **Perfil**: Define as permissões (veja seção de Perfis) - **Ativo**: Se desmarcado, o usuário não consegue fazer login --- ## 🎭 Perfis e Permissões O sistema possui **4 perfis** com diferentes níveis de acesso: ### 1. GESTOR (Gestor) **Permissões:** - ✅ Criar solicitações (desligamento, admissão, movimentação) - ✅ Visualizar suas próprias solicitações - ✅ Editar solicitações em status "Rascunho" - ✅ Enviar solicitações para aprovação - ✅ Gerenciar permissões de todos os usuários - ❌ Não pode aprovar/reprovar solicitações **Uso:** Gestores de equipe que iniciam processos de RH. --- ### 2. GG (Gente e Gestão) **Permissões:** - ✅ Visualizar solicitações com status "ENVIADA" - ✅ Aprovar/reprovar solicitações na etapa GG - ✅ Visualizar detalhes completos das solicitações - ✅ Gerenciar permissões de todos os usuários - ❌ Não pode criar novas solicitações **Uso:** Primeira etapa de aprovação no fluxo. --- ### 3. CONTROLADORIA **Permissões:** - ✅ Visualizar solicitações aprovadas pela GG (status "APROVADA_GG") - ✅ Aprovar/reprovar solicitações na etapa Controladoria - ✅ Visualizar detalhes completos das solicitações - ✅ Gerenciar permissões de todos os usuários - ❌ Não pode criar novas solicitações **Uso:** Segunda etapa de aprovação (análise financeira/orçamentária). --- ### 4. DIRETORIA **Permissões:** - ✅ Visualizar solicitações aprovadas pela Controladoria (status "APROVADA_CONTROLADORIA") - ✅ Aprovar/reprovar solicitações na etapa Diretoria (aprovação final) - ✅ Visualizar detalhes completos das solicitações - ✅ Gerenciar permissões de todos os usuários - ❌ Não pode criar novas solicitações **Uso:** Aprovação final e decisão executiva. --- ## ⚙️ Gerenciamento de Permissões ### Acessando a Página de Permissões 1. Faça login no sistema 2. No menu lateral, clique em **"Administração"** (ícone ⚙️) 3. Você será redirecionado para a página de gerenciamento de permissões ### Funcionalidades A página de permissões permite: - **Visualizar todos os usuários** do sistema - **Buscar usuários** por nome ou matrícula - **Alterar o perfil** de qualquer usuário (incluindo o seu próprio) - **Ver o status** (ativo/inativo) de cada usuário - **Identificar seu próprio perfil** (marcado como "Você") ### Como Alterar um Perfil 1. Na tabela de usuários, localize o usuário desejado 2. Na coluna "Alterar Perfil", selecione o novo perfil no dropdown 3. Clique em **"Atualizar"** 4. Uma mensagem de confirmação será exibida ### Regras Importantes - ✅ Qualquer usuário autenticado pode alterar permissões - ✅ Você pode alterar seu próprio perfil - ✅ Você pode alterar o perfil de outros usuários - ⚠️ Alterar seu próprio perfil pode afetar suas permissões imediatamente --- ## 🔒 Regras de Acesso ### Dashboard O dashboard exibe diferentes informações conforme o perfil: #### GESTOR - Vê apenas suas próprias solicitações - Pode filtrar por status (Total, Pendentes, Aprovadas, Reprovadas) - Vê solicitações em todos os status (incluindo "Rascunho") #### GG, CONTROLADORIA, DIRETORIA - Vê apenas solicitações pendentes na sua etapa - Não vê solicitações em "Rascunho" - Não vê solicitações já finalizadas ou reprovadas ### Criação de Solicitações - **Apenas GESTOR** pode criar solicitações - Outros perfis verão mensagem de erro se tentarem acessar formulários de criação ### Visualização de Detalhes - Todos os perfis podem visualizar detalhes de solicitações - O formulário de aprovação só aparece para perfis com permissão de aprovar ### Aprovação/Reprovação - **GESTOR** não pode aprovar/reprovar suas próprias solicitações (após sair de "Rascunho") - Cada perfil só pode aprovar na sua etapa específica do fluxo - O solicitante não pode aprovar sua própria solicitação --- ## 📊 Fluxo de Aprovação ### Estados da Solicitação 1. **RASCUNHO**: Solicitação criada, ainda não enviada 2. **ENVIADA**: Enviada para aprovação (visível para GG) 3. **APROVADA_GG**: Aprovada pela GG (visível para Controladoria) 4. **APROVADA_CONTROLADORIA**: Aprovada pela Controladoria (visível para Diretoria) 5. **FINALIZADA**: Aprovada pela Diretoria (processo concluído) 6. **REPROVADA**: Reprovação em qualquer etapa (processo encerrado) ### Fluxo Completo ``` GESTOR cria solicitação ↓ Status: RASCUNHO ↓ GESTOR envia para aprovação ↓ Status: ENVIADA ↓ GG analisa e aprova/reprova ↓ Se aprovada → Status: APROVADA_GG ↓ CONTROLADORIA analisa e aprova/reprova ↓ Se aprovada → Status: APROVADA_CONTROLADORIA ↓ DIRETORIA analisa e aprova/reprova ↓ Se aprovada → Status: FINALIZADA ``` ### Regras de Aprovação - Cada etapa só pode ser aprovada pelo perfil correspondente - Uma reprovação em qualquer etapa encerra o processo - O solicitante não pode aprovar sua própria solicitação - Solicitações em "RascUNHO" só são visíveis para o criador --- ## 🛠️ Solução de Problemas ### Não consigo fazer login **Possíveis causas:** - Matrícula ou senha incorretas - Usuário inativo no sistema - Problema de conexão com o Winthor **Solução:** 1. Verifique suas credenciais do Winthor 2. Acesse o admin Django (`/admin/`) e verifique se o usuário está ativo 3. Verifique a conexão com o banco Oracle ### Não vejo minhas solicitações **Possíveis causas:** - Perfil incorreto - Solicitações em status "Rascunho" (só visíveis para o criador) - Filtro aplicado no dashboard **Solução:** 1. Verifique seu perfil na página de permissões 2. Se for GESTOR, certifique-se de que criou as solicitações 3. Limpe os filtros no dashboard ### Não consigo aprovar solicitações **Possíveis causas:** - Perfil sem permissão de aprovação - Tentando aprovar sua própria solicitação - Solicitação não está na sua etapa **Solução:** 1. Verifique seu perfil (deve ser GG, CONTROLADORIA ou DIRETORIA) 2. Certifique-se de que não é o solicitante 3. Verifique se a solicitação está no status correto para sua etapa ### Não consigo criar solicitações **Possíveis causas:** - Perfil não é GESTOR **Solução:** 1. Acesse a página de permissões 2. Altere seu perfil para GESTOR 3. Faça logout e login novamente --- ## 📝 Notas Importantes 1. **Senhas**: As senhas são gerenciadas pelo Winthor. O SGMP não armazena senhas. 2. **Sincronização**: O nome do usuário é sincronizado do Winthor no primeiro login. 3. **Perfil Padrão**: Novos usuários recebem automaticamente o perfil GESTOR. 4. **Ativação**: Usuários podem ser desativados no admin Django, impedindo login. 5. **Segurança**: Qualquer usuário autenticado pode gerenciar permissões. Considere restringir isso se necessário. --- ## 🔗 Links Úteis - **Página de Login**: `/login/` - **Dashboard**: `/solicitacoes/` - **Gerenciar Permissões**: `/solicitacoes/permissoes/` - **Admin Django**: `/admin/` --- **Última atualização**: 2024