Modal de Trocar Representante
Descrição
Modal de troca de representante do estabelecimento comercial.
Endpoints atuais (não usar mais config/estabelecimentos/):
GET backend/api/estabelecimentos/usuarios-trocar-representante.phpPOST backend/api/estabelecimentos/trocar-representante.php(flagestabelecimentos.trocar_representante)
Log: tabela logs_troca_representante.
Fluxo de Funcionamento
Regras de Negócio
-
Usuário com White Label vinculado:
- Deve ser admin
- Deve ter permissão
estabelecimentos.trocar_representante - Verá apenas usuários ativos vinculados ao seu white label
-
Usuário sem White Label vinculado:
- Deve ser admin
- Deve ter permissão
estabelecimentos.trocar_representante - Verá todos os usuários ativos do sistema
Arquivos Criados/Modificados
Novos Arquivos
-
config/estabelecimentos/buscar_usuarios_trocar_representante.php
- Endpoint para buscar usuários disponíveis
- Aplica filtros baseados em white label e permissões
-
config/estabelecimentos/trocar_representante.php
- Endpoint para processar a troca de representante
- Atualiza o estabelecimento
- Registra log da alteração
-
database/migrations/create_logs_troca_representante.sql
- Script SQL para criar tabela de logs
- Registra histórico de trocas de representante
Arquivos Modificados
-
dashboard/gestao/estabelecimentos_novo.php
- Adicionado modal HTML
- Adicionado CSS para estilização
- Adicionado JavaScript para controle do modal
- Adicionado botão na tabela de estabelecimentos
- Adicionada permissão na variável de permissões
-
config/permissoes/verificar_permissoes_estabelecimentos.php
- Adicionada verificação da permissão
estabelecimentos.trocar_representante
- Adicionada verificação da permissão
Como Usar
-
Configurar Permissão:
- Adicionar permissão
estabelecimentos.trocar_representanteno banco de dados - Vincular permissão ao perfil/usuário desejado
- Adicionar permissão
-
Executar Migration:
-- Execute o arquivo SQL para criar a tabela de logssource database/migrations/create_logs_troca_representante.sql -
Usar o Modal:
- Acesse a página de estabelecimentos
- Clique no ícone de trocar representante (ícone de usuário com lápis)
- Selecione o novo representante
- Confirme a troca
Estrutura da Tabela de Logs
logs_troca_representante
├── id (PK)
├── estabelecimento_id (FK -> estabelecimentos)
├── antigo_representante_id (FK -> usuarios)
├── novo_representante_id (FK -> usuarios)
├── usuario_alteracao_id (FK -> usuarios)
└── data_alteracao (DATETIME)
Segurança
- Validação de permissões no backend
- Validação de sessão
- Transações SQL para garantir integridade
- Logs de auditoria