Commit graph

174 commits

Author SHA1 Message Date
NANDO9322
d8643e47fe chore: test deploy with host runner 2026-01-21 21:27:01 -03:00
NANDO9322
d09921b09b fix: bypass container image to avoid api version error 2026-01-21 21:14:28 -03:00
NANDO9322
41325d6396 chore: use podman with socket path 2026-01-21 21:09:37 -03:00
NANDO9322
abf5612173 feat: correct folder structure and build path 2026-01-21 21:00:03 -03:00
NANDO9322
a3c42404d2 fix: final workflow and paths 2026-01-21 20:53:33 -03:00
NANDO9322
18c0601b11 jesus 2026-01-21 20:44:27 -03:00
JoaoVitorMS0
93d603da6c feat: implementa visualização de agenda para profissionais e melhorias no sistema
- Adiciona role 'agenda_viewer' para profissionais visualizarem apenas suas agendas
- Implementa middleware de autorização baseado em roles
- Adiciona validação de permissões nos endpoints de agenda
- Melhora exibição de dados financeiros e logísticos
- Atualiza componentes frontend para melhor UX
- Adiciona documentação sobre o papel de visualização de agenda
2026-01-19 17:06:27 -03:00
NANDO9322
5f4868c750 Merge branch 'dev' of https://github.com/rede5/photum into dev 2026-01-16 18:37:06 -03:00
NANDO9322
5b0783f36b fix: (agenda) descricao melhorada para titulo das colunas da listagem dos eventos 2026-01-16 18:37:00 -03:00
NANDO9322
0a4f53748b fix: (agenda) descricao melhorada para titulo das colunas da listagem dos eventos 2026-01-16 16:22:34 -03:00
Andre F. Rodrigues
1b55707f90
Merge pull request #43 from rede5/Front-back-integracao-task19
feat(financeiro): implementação do extrato financeiro do profissional e melhorias na agenda
2026-01-16 16:09:32 -03:00
NANDO9322
943b4f6506 feat(financeiro): implementação do extrato financeiro do profissional e melhorias na agenda
- Backend:
  - Adicionado endpoint para extrato financeiro do profissional (/meus-pagamentos).
  - Atualizada query SQL para incluir nome da empresa e curso nos detalhes da transação.
  - Adicionado retorno de valores (Free, Extra, Descrição) na API.

- Frontend:
  - Nova página "Meus Pagamentos" com modal de detalhes da transação.
  - Removido componente antigo PhotographerFinance.
  - Ajustado filtro de motoristas na Logística para exibir apenas profissionais atribuídos e com carro.
  - Corrigida exibição da função do profissional na Escala (mostra a função atribuída no evento, ex: Cinegrafista).
  - Melhoria no botão de voltar na tela de detalhes do evento.
2026-01-16 16:07:49 -03:00
Andre F. Rodrigues
8f081d20f9
Merge pull request #42 from rede5/Front-back-integracao-task18
feat: notificações whatsapp com logística e correção de contagem de equipe
2026-01-16 12:57:30 -03:00
NANDO9322
175ee98f2a feat: notificações whatsapp com logística e correção de contagem de equipe
- Implementa envio de notificação WhatsApp ao aprovar evento ("Confirmado"), incluindo detalhes de logística (carro, motorista, passageiros) e endereço formatado.
- Adiciona coluna `funcao_id` em `agenda_profissionais` para distinguir a função específica do profissional no evento.
- Corrige bug de contagem duplicada na tabela de eventos para profissionais com múltiplas funções.
- Corrige validação ao aceitar convite para checar lotação apenas da função designada.
- Adiciona exibição da função (ex: Fotógrafo, Cinegrafista) na lista lateral do painel.
2026-01-16 12:56:40 -03:00
NANDO9322
e78de535c1 feat: implementação do financeiro e suporte a múltiplas funções
Este commit introduz o módulo financeiro completo e refatora o sistema de profissionais para suportar múltiplas funções, corrigindo a contabilização e validação de equipes.

Principais alterações:

- **Módulo Financeiro:**
  - Criação da tabela `financial_transactions` e queries associadas.
  - Implementação do backend (Handler/Service) para gerenciar transações.
  - Nova página [Finance.tsx](cci:7://file:///c:/Projetos/photum/frontend/pages/Finance.tsx:0:0-0:0) com listagem, edição, filtros avançados e agrupamento por FOT.
  - Correção na busca de FOTs e formatação de datas.

- **Gestão de Equipe e Profissionais:**
  - Refatoração para suportar múltiplas funções por profissional (Backend & Frontend).
  - Atualização do [Dashboard](cci:1://file:///c:/Projetos/photum/frontend/pages/Dashboard.tsx:31:0-1663:2) e [EventTable](cci:1://file:///c:/Projetos/photum/frontend/components/EventTable.tsx:28:0-659:2) para contabilizar corretamente profissionais (Fotografo, Cinegrafista, Recepcionista) verificando a lista de funções.
  - Implementação de validação de cota no aceite de convites (bloqueia se a equipe da função específica já estiver completa).
  - Ajuste visual nos indicadores de "Equipe Completa" e contadores de faltantes na listagem de eventos.

- **Geral:**
  - Atualização da documentação Swagger.
  - Ajustes de tipagem e migrações de banco de dados.
2026-01-15 18:07:39 -03:00
JoaoVitorMS0
a1d5434414 feat: Implementar sistema completo de gestão de equipe e restrições
- Adicionar restrições de exclusão de FOT quando há eventos associados
- Implementar tooltips para motivos de recusa de eventos por fotógrafos
- Filtrar eventos recusados das listas de fotógrafos
- Adicionar sistema de filtros avançados no modal de gerenciar equipe
- Implementar campos completos de gestão de equipe (fotógrafos, recepcionistas, cinegrafistas, estúdios, pontos de foto, pontos decorados, pontos LED)
- Adicionar colunas de gestão na tabela principal com cálculos automáticos de profissionais faltantes
- Implementar controle de visibilidade da seção de gestão apenas para empresas
- Adicionar status visual "Profissionais OK" com indicadores de completude
- Implementar sistema de cálculo em tempo real de equipe necessária vs confirmada
- Adicionar validações condicionais baseadas no tipo de usuário
2026-01-13 13:24:38 -03:00
JoaoVitorMS0
3430d6bab5 feat: Update database models, API documentation and frontend authentication system 2026-01-12 16:41:50 -03:00
NANDO9322
7010e8e7d9 fix: correções de email, avatar e filtro de equipe no agendador
Backend:
- Corrigido mapeamento de email na listagem e busca por ID de profissionais. Agora o sistema utiliza o email do usuário vinculado (`usuario_email`) como fallback caso o email do perfil profissional esteja vazio.

Frontend:
- EventScheduler: Implementado filtro estrito para exibir apenas profissionais que foram explicitamente adicionados à equipe do evento ("Gerenciar Equipe"), prevenindo escalações indevidas.
- EventScheduler: Adicionada validação para ocultar cargos administrativos sem função operacional definida.
- ProfessionalDetailsModal: Corrigida a lógica de exibição do avatar para suportar a propriedade `avatar_url` (padrão atual do backend), resolvendo o problema de imagens quebradas ou ícones genéricos.
2026-01-12 12:20:08 -03:00
Andre F. Rodrigues
9ff55b36bd
Merge pull request #41 from rede5/Front-back-integracao-task17
Implementa validação de horários para evitar conflitos no aceite de eventos, correções na sincronização de dados da agenda e melhorias na interface de gestão de equipe.

Backend:
- handler.go: Correção no retorno do endpoint [UpdateAssignmentStatus](cci:1://file:///c:/Projetos/photum/backend/internal/agenda/handler.go:279:0-313:1) para enviar JSON válido e evitar erros no frontend.
- service.go: Implementação da lógica de validação de conflitos antes de aceitar um evento.
- agenda.sql: Nova query `CheckProfessionalBusyDate` para verificação de sobreposição de horários.

Frontend:
- Dashboard.tsx: Adição de tooltip e texto para exibir o "Motivo da Rejeição" na gestão de equipe (Desktop/Mobile).
- EventScheduler.tsx: Filtro para excluir profissionais com status 'REJEITADO' e correção na label de 'Pendente'.
- EventDetails.tsx: Refatoração para usar estado global ([useData](cci:1://file:///c:/Projetos/photum/frontend/contexts/DataContext.tsx:1156:0-1160:2)), garantindo atualização imediata de datas e locais.
- DataContext.tsx: Mapeamento do campo `local_evento` e melhoria no tratamento de erro otimista.
- Ajustes gerais em ProfessionalDetailsModal, Login e correções de tipos.
2025-12-30 11:27:10 -03:00
NANDO9322
7536bddacb feat: sistema de validação de conflitos e melhorias na UX da agenda
Implementa validação de horários para evitar conflitos no aceite de eventos, correções na sincronização de dados da agenda e melhorias na interface de gestão de equipe.

Backend:
- handler.go: Correção no retorno do endpoint [UpdateAssignmentStatus](cci:1://file:///c:/Projetos/photum/backend/internal/agenda/handler.go:279:0-313:1) para enviar JSON válido e evitar erros no frontend.
- service.go: Implementação da lógica de validação de conflitos antes de aceitar um evento.
- agenda.sql: Nova query `CheckProfessionalBusyDate` para verificação de sobreposição de horários.

Frontend:
- Dashboard.tsx: Adição de tooltip e texto para exibir o "Motivo da Rejeição" na gestão de equipe (Desktop/Mobile).
- EventScheduler.tsx: Filtro para excluir profissionais com status 'REJEITADO' e correção na label de 'Pendente'.
- EventDetails.tsx: Refatoração para usar estado global ([useData](cci:1://file:///c:/Projetos/photum/frontend/contexts/DataContext.tsx:1156:0-1160:2)), garantindo atualização imediata de datas e locais.
- DataContext.tsx: Mapeamento do campo `local_evento` e melhoria no tratamento de erro otimista.
- Ajustes gerais em ProfessionalDetailsModal, Login e correções de tipos.
2025-12-30 11:24:53 -03:00
Andre F. Rodrigues
b03a5445b5
Merge pull request #40 from rede5/Front-back-integracao-task16
feat: Ajusta a edição de eventos no gerenciamento de agenda, incluindo atribuição de profissionais e status
2025-12-29 19:57:12 -03:00
NANDO9322
002dee832d feat: Ajusta a edição de eventos no gerenciamento de agenda, incluindo atribuição de profissionais e status 2025-12-29 19:55:50 -03:00
Andre F. Rodrigues
991897dcc5
Merge pull request #39 from rede5/Front-back-integracao-task16
fix: ajustado fluxo e geracao de codigos de acesso
2025-12-29 17:23:11 -03:00
NANDO9322
cd00fb53f9 fix: ajustado fluxo e geracao de codigos de acesso 2025-12-29 17:21:03 -03:00
Andre F. Rodrigues
1152d5ada6
Merge pull request #38 from rede5/Front-back-integracao-task16
feat: Adicionado gerenciamento de codigos de acesso
2025-12-29 16:55:06 -03:00
NANDO9322
5312945f7c feat: Adicionado gerenciamento de usuários administradores, funcionalidade de código de acesso e documentação da API. 2025-12-29 16:51:55 -03:00
Andre F. Rodrigues
030b78d787
Merge pull request #37 from rede5/Front-back-integracao-task15
feat(ops): implementa modulo operacional completo (escala, logistica, equipe)

- Backend: Migrations para tabelas 'escalas' e 'logistica' (transporte)
- Backend: Handlers e Services completos para gestão de escalas e logística
- Backend: Suporte a auth vinculado a perfil profissional
- Frontend: Nova página de Detalhes Operacionais (/agenda/:id)
- Frontend: Componente EventScheduler com verificação robusta de conflitos
- Frontend: Componente EventLogistics para gestão de motoristas e caronas
- Frontend: Modal de Detalhes de Profissional unificado (Admin + Self-view)
- Frontend: Dashboard com modal de gestão de equipe e filtros avançados
- Fix: Correção crítica de timezone (UTC) em horários de agendamento
- Fix: Tratamento de URLs no campo de local do evento
- Fix: Filtros de profissional com carro na logística


núcleo operacional da plataforma, permitindo o fluxo completo de agendamento e logística de eventos.
## Principais Implementações
### 1. Escala e Agendamento ([EventScheduler](cci:1://file:///c:/Projetos/photum/frontend/components/EventScheduler.tsx:21:0-276:2))
- Interface para alocação de profissionais em horários específicos.
- **Sistema Anti-Conflito**: Bloqueia alocação de profissionais já ocupados em outros eventos no mesmo dia/horário.
- Visualização de status (Confirmado/Pendente/Recusado).
### 2. Logística ([EventLogistics](cci:1://file:///c:/Projetos/photum/frontend/components/EventLogistics.tsx:22:0-209:2))
- Gestão de transporte e caronas.
- Filtro inteligente: Apenas profissionais com `carro_disponivel` aparecem como opções de Motorista.
### 3. Gestão de Equipe e Detalhes
- Modal unificado de detalhes do profissional, acessível via Painel e Escala.
- **Self-View**: Profissionais podem visualizar seus próprios dados completos (incluindo financeiros e performance).
- Gestores visualizam dados de todos.
### 4. Melhorias Técnicas e Fixes
- **Timezone**: Correção definitiva para armazenamento de horários (conversão Local -> UTC correta).
- **UX**:
  - Links de mapa detectados automaticamente no campo 'Local'.
  - Dropdowns com informações de função (e.g. "João - Fotógrafo").
  - Feedback visual de status de conflito.
2025-12-29 16:04:04 -03:00
NANDO9322
804a566095 feat(ops): implementa modulo operacional completo (escala, logistica, equipe)
- Backend: Migrations para tabelas 'escalas' e 'logistica' (transporte)
- Backend: Handlers e Services completos para gestão de escalas e logística
- Backend: Suporte a auth vinculado a perfil profissional
- Frontend: Nova página de Detalhes Operacionais (/agenda/:id)
- Frontend: Componente EventScheduler com verificação robusta de conflitos
- Frontend: Componente EventLogistics para gestão de motoristas e caronas
- Frontend: Modal de Detalhes de Profissional unificado (Admin + Self-view)
- Frontend: Dashboard com modal de gestão de equipe e filtros avançados
- Fix: Correção crítica de timezone (UTC) em horários de agendamento
- Fix: Tratamento de URLs no campo de local do evento
- Fix: Filtros de profissional com carro na logística
2025-12-29 16:01:17 -03:00
Andre F. Rodrigues
5d02775496
Merge pull request #36 from rede5/Front-back-integracao-task14
feat(team): fluxo completo de cadastro de equipe com senha, correções de vínculo e avatar

- Frontend: Adiciona campos de senha e visibilidade na tela de Equipe.
- Frontend: Implementa criação de usuário prévia ao cadastro do profissional.
- Backend (Auth): Remove criação duplicada de perfil e ativa usuários automaticamente.
- Backend (Auth): Inclui dados do profissional (avatar) na resposta do endpoint /me.
- Backend (Profissionais): Corrige chave de contexto ('role') para permitir vínculo correto de usuário.
- Backend (Profissionais): Sincroniza exclusão para remover conta de usuário ao deletar profissional.
- Docs: Atualização dos arquivos Swagger.
2025-12-25 16:29:29 -03:00
NANDO9322
958918cb8a feat(team): fluxo completo de cadastro de equipe com senha, correções de vínculo e avatar
- Frontend: Adiciona campos de senha e visibilidade na tela de Equipe.
- Frontend: Implementa criação de usuário prévia ao cadastro do profissional.
- Backend (Auth): Remove criação duplicada de perfil e ativa usuários automaticamente.
- Backend (Auth): Inclui dados do profissional (avatar) na resposta do endpoint /me.
- Backend (Profissionais): Corrige chave de contexto ('role') para permitir vínculo correto de usuário.
- Backend (Profissionais): Sincroniza exclusão para remover conta de usuário ao deletar profissional.
- Docs: Atualização dos arquivos Swagger.
2025-12-25 16:25:07 -03:00
Andre F. Rodrigues
9ccd28fc42
Merge pull request #35 from rede5/Front-back-integracao-task13
feat: aprimora responsividade mobile, form de eventos e persistência de dados

- Frontend:
  - Implementa visualização em cards mobile para lista de Eventos (/painel), Gestão de Cursos (/cursos) e modal de Equipe.
  - Corrige rolagem e layout do modal de detalhes do profissional em telas pequenas.
  - Unifica seleção de turma (Curso/Inst/Ano) no formulário de eventos para simplificar UX.
  - Adiciona botão "Voltar" no formulário de eventos.
  - Adiciona integração de busca de CEP e validação de "Qtd Estúdios".
  - Ajusta inputs de avaliação (estrelas) e exibição de disponibilidade de horário.
  - Atualiza interfaces (types.ts) para incluir campos novos (cep, email no profissional).

- Backend:
  - Adiciona persistência do campo "email" na tabela de profissionais.
  - Corrige bug de persistência nula no campo "media" (avaliação).
  - Atualiza queries SQL e gera novos modelos (sqlc) para refletir mudanças no schema.
  - Atualiza documentação Swagger.
2025-12-25 12:24:30 -03:00
NANDO9322
636ad73993 feat: aprimora responsividade mobile, form de eventos e persistência de dados
- Frontend:
  - Implementa visualização em cards mobile para lista de Eventos (/painel), Gestão de Cursos (/cursos) e modal de Equipe.
  - Corrige rolagem e layout do modal de detalhes do profissional em telas pequenas.
  - Unifica seleção de turma (Curso/Inst/Ano) no formulário de eventos para simplificar UX.
  - Adiciona botão "Voltar" no formulário de eventos.
  - Adiciona integração de busca de CEP e validação de "Qtd Estúdios".
  - Ajusta inputs de avaliação (estrelas) e exibição de disponibilidade de horário.
  - Atualiza interfaces (types.ts) para incluir campos novos (cep, email no profissional).

- Backend:
  - Adiciona persistência do campo "email" na tabela de profissionais.
  - Corrige bug de persistência nula no campo "media" (avaliação).
  - Atualiza queries SQL e gera novos modelos (sqlc) para refletir mudanças no schema.
  - Atualiza documentação Swagger.
2025-12-25 12:22:53 -03:00
Andre F. Rodrigues
7fe7bd87fb
Merge pull request #34 from rede5/Front-back-integracao-task12
feat(profissionais): melhorar a visualização de detalhes e persistência dos profissionais - Adiciona a coluna `email` ao banco de dados para corrigir a persistência do e-mail de contato. - Atualiza o `Team.tsx` para exibir todos os campos do profissional no modal de detalhes (Dados Financeiros, Detalhamento de Avaliações). - Corrige o cálculo e a persistência de `media` (ajuste para valor nulo). - Implementa integração com CEP para preenchimento automático de endereço. - Adiciona validações para valores negativos e corrige problemas de layout.
2025-12-24 15:04:28 -03:00
NANDO9322
90841596c1 feat(profissionais): melhorar a visualização de detalhes e persistência dos profissionais
- Adiciona a coluna `email` ao banco de dados para corrigir a persistência do e-mail de contato.
- Atualiza o `Team.tsx` para exibir todos os campos do profissional no modal de detalhes (Dados Financeiros, Detalhamento de Avaliações).
- Corrige o cálculo e a persistência de `media` (ajuste para valor nulo).
- Implementa integração com CEP para preenchimento automático de endereço.
- Adiciona validações para valores negativos e corrige problemas de layout.
2025-12-24 15:03:08 -03:00
Andre F. Rodrigues
95d7906c28
Merge pull request #33 from rede5/Front-back-integracao-task11
feat(staffing): implementa sistema de disponibilidade e escalonamento, (frontend): implementa modal de detalhes e updates otimistas na equipe
2025-12-23 17:36:22 -03:00
NANDO9322
434548c158 feat(staffing): implementa sistema de disponibilidade e escalonamento
- Adiciona tabela `disponibilidade_profissionais` no schema
- Adiciona coluna `posicao` para mapa de profissionais no evento
- Implementa Service e Handler para gerenciar Disponibilidade (Set/Get)
- Implementa lógica de Escalonamento: listar disponíveis e atribuir posição
- Atualiza rotas da API e serviço do frontend

feat(frontend): implementa modal de detalhes e updates otimistas na equipe

- Adiciona componente ProfessionalDetailsModal para exibir dados completos do profissional
- Implementa update otimista em DataContext para adição/removação instantânea da equipe
- Corrige bug crítico de sintaxe e estrutura na Dashboard.tsx
- Adiciona badges de status (Pendente/Confirmado/Rejeitado) na listagem de equipe
- Corrige erro de referência de variável (professionalId) no fluxo de atribuição
2025-12-23 17:29:40 -03:00
Andre F. Rodrigues
38098f4f57
Merge pull request #32 from rede5/Front-back-integracao-task10
adiciona tipo profissional ao schema e corrige avatar
- Adiciona coluna `tipo_profissional` à tabela `usuarios`
- Atualiza handlers e services do Backend Go para persistir o tipo
- Atualiza registro no Frontend para enviar o nome da função (ex: "Cinegrafista")
- Corrige uploads S3 para compatibilidade com Civo (PathStyle)
- Script para definir política pública de leitura no bucket S3
- Adiciona fallback para imagens de avatar na Navbar

----------------------------------------------------------------------------------------------------------------------------------------

implementacao/upload-avatar-e-tipo-profissional

implementa o fluxo completo de upload de avatar para profissionais, corrige a exibição de imagens do S3 (Civo) e adiciona a persistência do "Tipo de Profissional" na tabela de usuários para melhor identificação, mantendo a role do sistema inalterada.

Alterações Principais:

🖼️ Frontend

AuthContext: Atualizado para enviar tipo_profissional durante o registro.
ProfessionalForm: Agora captura o nome da função selecionada (ex: "Fotógrafo") e envia para o registro.
Navbar: Adicionados handlers onError para as imagens de avatar, garantindo fallback elegante para iniciais caso a imagem falhe.
Upload: Implementado upload direto para S3 via URL pré-assinada (Presigned URL).
⚙️ Backend

Banco de Dados:
Adicionada coluna tipo_profissional na tabela usuarios.
Atualizadas queries SQLC para leitura/escrita deste novo campo.
Auth Service:
Handler atualizado para aceitar tipo_profissional no payload.
Service atualizado para persistir o dado no banco.
S3 Storage:
Ajustado para usar PathStyle (compatibilidade com Civo).
Removida ACL public-read (causava erro 403) e substituída por script de política de bucket.
🛠️ Ferramentas

Criado script 
cmd/tools/set_bucket_public.go
 para configurar programaticamente a política de acesso público do bucket.
 Checklist de Verificação

 Upload de avatar funcionando.
 Imagem carrega corretamente no cabeçalho (após correção da política do bucket).
 Tipo do profissional é salvo corretamente no banco (SELECT email, tipo_profissional FROM usuarios;).
 Cadastro segue funcionando normalmente para outros perfis.
2025-12-22 12:41:21 -03:00
NANDO9322
cd196a0275 feat(auth): adiciona tipo profissional ao schema e corrige avatar
- Adiciona coluna `tipo_profissional` à tabela `usuarios`
- Atualiza handlers e services do Backend Go para persistir o tipo
- Atualiza registro no Frontend para enviar o nome da função (ex: "Cinegrafista")
- Corrige uploads S3 para compatibilidade com Civo (PathStyle)
- Script para definir política pública de leitura no bucket S3
- Adiciona fallback para imagens de avatar na Navbar
2025-12-22 12:37:42 -03:00
NANDO9322
f625b6cd6c feat: ajusta fluxo de cadastro para permitir que somente empresas precisem entrar com codigo de acesso 2025-12-22 10:37:13 -03:00
João Vitor
3a0a2041a2
Merge pull request #31 from rede5/feature/ui-improvements-and-access-codes
feat: Adicionar sistema de código de acesso, upload de foto de perfil…
2025-12-18 15:13:59 -03:00
João Vitor
888ae9eb62 feat: Adicionar sistema de código de acesso, upload de foto de perfil e melhorias de UI
- Adicionar modal de verificação de código de acesso na página inicial para cadastro

- Adicionar modal de seleção profissional/cliente após verificação do código

- Criar página AccessCodeManagement para CEO/SUPERADMIN gerar e gerenciar códigos de acesso

- Adicionar upload de foto de perfil no formulário de cadastro de profissional

- Adicionar upload de foto de perfil no modal de edição de perfil

- Remover botão 'Entrar/Cadastrar' do header nas rotas de login e cadastro

- Separar campos Conta e PIX no cadastro de profissional (apenas PIX obrigatório)

- Adicionar campo de descrição de equipamentos no cadastro de profissional

- Remover edição manual de 'Gastos Captação' (campo calculado)

- Converter página de códigos de acesso para formato de tabela estilo Excel

- Restaurar fallback de login do usuário demo quando o backend estiver indisponível

- Padronizar espaçamentos e fontes do header nas páginas administrativas

- Adicionar novo item de menu 'Códigos de Acesso' para CEO/SUPERADMIN
2025-12-18 15:12:20 -03:00
Andre F. Rodrigues
254dd1e5ee
Merge pull request #30 from rede5/dev - Transferindo ETAPA 1 do ambiente dev para hml
Transferindo ETAPA 1 do ambiente dev para hml
2025-12-18 11:44:02 -03:00
NANDO9322
8bea8d1162 feat(ui): refina detalhes do evento e aprovação de usuários
- Dashboard: Ajusta exibição do campo LOCAL para mostrar o nome do local.
- Dashboard: Atualiza exibição do ENDEREÇO para formato completo.
- UserApproval: Remove funcionalidade e botão de rejeitar usuários.
2025-12-18 10:23:25 -03:00
NANDO9322
0e3e74eb59 feat(event-form): habilita seleção de empresa para business owners
- Atualiza o EventForm para buscar a lista de empresas via /api/empresas para usuários BUSINESS_OWNER e SUPERADMIN.
- Adiciona campo de seleção de 'Empresa' antes do carregamento das FOTs (Turmas).
- Implementa lógica em cascata: Seleção de Empresa -> Carrega Turmas -> Filtra Cursos -> Filtra Instituições.
- Adiciona mensagem de aviso quando a empresa selecionada não possui turmas cadastradas.
- Refatora o gerenciamento de estado para utilizar o ID da empresa ao invés do nome, garantindo maior integridade.
2025-12-17 16:52:10 -03:00
NANDO9322
8515796ae9 fix: ajustado vinculo de seção ao atualizar pagina 2025-12-17 16:19:04 -03:00
Andre F. Rodrigues
ccb0871388
Merge pull request #29 from rede5/Front-back-integracao-task9
Resolvido problemas críticos na experiência do usuário (Event Owner) ao criar eventos, garantindo consistência de dados, eliminando criações duplicadas e corrigindo o funcionamento dos filtros na dashboard.

Principais Alterações:

Correção de Duplicidade na Criação (Critical Bug):
Removida a chamada direta à API 
createAgenda
 dentro do componente 
EventForm
. A criação agora é centralizada via callback 
onSubmit
, evitando que o evento fosse submetido duas vezes (uma pelo formulário e outra pelo Dashboard/Context).
Consistência de Dados e Formatação:
Implementado reload automático (window.location.href = '/painel') após o sucesso da criação. Isso garante que a lista de eventos carregue os dados completos do backend (incluindo joins de Curso, Instituição e FOT), resolvendo o bug onde o evento aparecia incompleto na lista.
Corrigido o formato da data enviada ao backend (ISOString com sufixo Z), resolvendo o erro de parse RFC3339 no servidor Go.
Normalizada a chave de recuperação do token no localStorage (de @Photum:token para token).
Correção de Filtros (Dashboard):
Ajustado o filtro avançado de FOT para buscar pelo campo visual fot (Número do FOT) em vez do fotId (UUID interno).
Adicionado suporte a busca case-insensitive (ignora maiúsculas/minúsculas).
Arquivos Impactados:

frontend/components/EventForm.tsx
frontend/contexts/DataContext.tsx
frontend/pages/Dashboard.tsx
2025-12-16 20:43:56 -03:00
NANDO9322
7128541b44 fix: corrige criação duplicada de eventos, parse de data e filtro de FOT 2025-12-16 20:41:28 -03:00
Andre F. Rodrigues
7e61548bbe
Merge pull request #27 from rede5/Front-back-integracao-task8
Implementação de Ações de Gestão de FOT e Correções na Exibição da Agenda

 Implementação das capacidades completas de gerenciamento para o módulo 'Gestão de FOT' e resolve problemas críticos na exibição de dados no Dashboard da Agenda.

Mudanças:

Gestão de FOT (Course Management):
Edição: O formulário foi atualizado para aceitar initialData e permitir a edição de registros existentes.
Exclusão: Adicionada funcionalidade de exclusão com diálogo de confirmação e integração com o backend.
Filtro de Busca: Adicionada uma barra de busca para filtrar registros por número FOT, Empresa, Curso ou Instituição.
Correções de UI: O alinhamento das colunas da tabela foi corrigido para garantir que os dados correspondam aos cabeçalhos corretos.
Agenda / Dashboard:
Correção de Bug Crítico: Resolvido o erro do React ("Objects are not valid as a React child") causado pelo mapeamento incorreto de assigned_professionals. Agora o código extrai corretamente os IDs para photographerIds e mapeia os objetos completos para o novo campo assignments.
Correção de Bug: Corrigida uma falha silenciosa no 
fetchEvents
 causada por um erro de referência nula em local_evento.
Limpeza: Removidos os dados de mock (INITIAL_EVENTS) para garantir que o estado "Sem eventos" apareça corretamente quando não houver dados reais.
API Service:
Adicionados os métodos 
updateCadastroFot
 (PUT) e 
deleteCadastroFot
 (DELETE).
2025-12-16 18:12:46 -03:00
NANDO9322
28b76a0f54 feat(fot-management): implementação de ações editar/excluir e correção no mapeamento da agenda
- Implementadas ações de Editar e Excluir na página de Gestão de FOT
- Adicionado filtro de busca para FOTs
- Corrigido desalinhamento de colunas na tabela de Gestão de FOT
- Atualizado FotForm para suportar a edição de registros existentes
- Corrigido erro de renderização do React no Dashboard mapeando corretamente os objetos de atribuição
- Removidos dados de mock (INITIAL_EVENTS) e corrigido erro de referência nula no DataContext
- Adicionados métodos de atualização/exclusão ao apiService
2025-12-16 18:10:46 -03:00
Andre F. Rodrigues
52e167475c
Merge pull request #26 from rede5/Front-back-integracao-task7
Correção da Listagem de Agenda, Filtro de Usuário e Mapeamento de Dados

Resolve problemas críticos no módulo de Agenda, garantindo que os eventos sejam exibidos corretamente para o usuário logado e que as informações na interface (como o número da turma e nome do evento) correspondam aos dados reais do banco, eliminando a exibição de IDs internos e campos vazios.

Alterações Realizadas
🔙 Backend
Banco de Dados: Adicionada coluna user_id na tabela agenda para vincular o evento ao seu criador.
Queries:
CreateAgenda
 atualizado para salvar o user_id.
Nova query ListAgendasByUser criada para filtrar os eventos pelo ID do usuário.
Lógica: Atualização nos Services e Handlers para identificar o usuário via token JWT e aplicar o filtro corretamente.
🖥️ Frontend
Correção de Reatividade (
DataContext
):
Integração do 
useAuth
 para garantir que a lista de eventos (função 
fetchEvents
) seja recarregada automaticamente assim que o login é realizado.
Mapeamento de Dados:
FOT: Ajustado para exibir o fot_numero (ex: 25189) em vez do UUID.
Nome do Evento: Criado fallback para usar o "Tipo de Evento" (ex: "Churrasco") como título caso o nome não seja informado.
Formandos: Corrigido o mapeamento de qtd_formandos para attendees.
Interface (
EventTable
 & 
Dashboard
):
Tabelas e telas de detalhes atualizadas para usar os campos mapeados corretamente.
Correção de erro de TypeScript no enum 
EventStatus
 (troca de COMPLETED para DELIVERED).
Como Testar
Filtro: Logar com um usuário cliente e confirmar que ele vê apenas os seus eventos.
Listagem: Verificar se a coluna "FOT" mostra um número simples e se colunas como "Curso" e "Instituição" estão preenchidas.
Detalhes: Abrir um evento e confirmar se "Qtd Formandos" aparece (ex: 35) e se o título do evento está correto mesmo sem observações preenchidas
2025-12-16 13:46:30 -03:00