Implandação da customização das permissões dos usuarios e das notificaçoes

This commit is contained in:
2026-08-26 17:24:25 -03:00
parent 808c2c7545
commit 5bb5d74e22
71 changed files with 2487 additions and 269 deletions

View File

@@ -1,15 +1,17 @@
# app/policies/dashboard_policy.rb
class DashboardPolicy < Struct.new(:user, :dashboard)
def metricas?
user.admin? || user.gerente? || user.operador?
end
#
# Policy headless (`authorize :dashboard, :x?`). Deixou de ser Struct para herdar
# o `pode?` da ApplicationPolicy.
class DashboardPolicy < ApplicationPolicy
def ver? = pode?('dashboard.ver')
def index? = ver?
def index?
user.admin? || user.gerente?
end
# Custos, pagamentos, relatório financeiro e entregas em aberto. Era o buraco
# do `externo`: o controller usava skip_authorization e ele via tudo.
def financeiro? = pode?('dashboard.financeiro')
def pendentes? = financeiro?
# Dashboard de operações: todos menos motorista (mesma regra do dashboard HTML).
def operacoes?
!user.motorista?
end
def operacoes? = pode?('dashboard.operacoes')
def exportar? = pode?('dashboard.exportar')
def metricas? = pode?('dashboard.metricas')
end