Implandação da customização das permissões dos usuarios e das notificaçoes
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user