- 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
29 lines
645 B
Ruby
29 lines
645 B
Ruby
# app/controllers/application_controller.rb
|
|
class ApplicationController < ActionController::Base
|
|
include Pundit::Authorization
|
|
include Pagy::Backend
|
|
|
|
before_action :authenticate_user!
|
|
before_action :set_tema
|
|
|
|
# Pundit: redireciona se não autorizado
|
|
rescue_from Pundit::NotAuthorizedError do |e|
|
|
flash[:alert] = "Você não tem permissão para realizar esta ação."
|
|
redirect_to root_path
|
|
end
|
|
|
|
private
|
|
|
|
def set_tema
|
|
@tema = current_user&.tema_preferido || 'dark'
|
|
end
|
|
|
|
def after_sign_in_path_for(resource)
|
|
if resource.motorista?
|
|
motorista_dashboard_path
|
|
else
|
|
dashboard_path
|
|
end
|
|
end
|
|
end
|