Files
Reem-Notas/config/routes.rb
victor fedf5bfcc9 Corrige dashboard por período, CRUD de usuário, PDFs e paginação na revisão
- Dashboard: no_periodo passa a cobrir o dia inteiro (planned_date é timestamp),
  corrigindo período que zerava ao terminar no dia dos dados
- Dashboard: card de consolidações filtra por sobreposição de datas (não created_at)
- Usuários: adiciona helper role_options_for_select (corrige edição/criação)
- Consolidação: set_consolidacao nas actions de PDF/preview (corrige
  Pundit::NotDefinedError em Relatório Individual, Gerar Holerite e Preview)
- Revisão: paginação com Pagy (20/página + seletor 20/50/100)
- Nova consolidação: veículos filtrados pelo(s) motorista(s) no período
2026-06-16 14:45:06 -03:00

72 lines
2.2 KiB
Ruby

# config/routes.rb
Rails.application.routes.draw do
# Devise — login padrão para admin/gerente/operador
devise_for :users, path: 'auth',
controllers: { sessions: 'users/sessions' },
path_names: {
sign_in: 'login',
sign_out: 'logout',
password: 'senha'
}
# Root — redireciona por role
root 'dashboard#index'
# Dashboard principal (admin/gerente/operador)
get '/dashboard', to: 'dashboard#index', as: :dashboard
# Painel motorista
get '/motorista', to: 'motorista/dashboard#index', as: :motorista_dashboard
# Login motorista — PIN de 4 dígitos + acesso via QR Code do holerite
get '/motorista/login', to: 'motorista/sessoes#new', as: :motorista_login
post '/motorista/login', to: 'motorista/sessoes#create'
get '/motorista/acesso/:token', to: 'motorista/sessoes#acesso_qr', as: :motorista_acesso_qr
# Consolidações
resources :consolidacoes do
collection do
get :veiculos_disponiveis # JSON — veículos do(s) motorista(s) no período (form nova consolidação)
end
member do
get :wizard # Passo 1 — selecionar motorista
post :finalizar
post :arquivar
get :preview_holerite
get :gerar_pdf_relatorio
get :gerar_pdf_holerite
end
resources :consolidacao_entregas, only: [] do
collection do
get :validar # Passo 2 — toggles de classificação
post :classificar # toggle individual (JSON)
post :classificar_em_massa # ações em massa (JSON)
get :revisar # Passo 3 — revisão do motorista
end
end
end
# Configurações (apenas admin/gerente)
namespace :admin do
resources :usuarios, except: [:show] do
member { patch :toggle_ativo }
end
resources :configuracoes, only: [:index, :edit, :update] do
collection { post :toggle_tema }
end
resources :auditoria_logs, only: [:index]
end
# API interna — Dashboard métricas
namespace :api do
namespace :v1 do
get 'dashboard/metricas', to: 'dashboard#metricas'
end
end
# Health check (Docker)
get '/health', to: proc { [200, {}, ['OK']] }
end