Files
Reem-Notas/app/policies/application_policy.rb
victor ffcae12d0b Corrige 500 em Configurações e Usuários
- ConfiguracaoPolicy (e UserPolicy) chamavam admin_ou_gerente?/admin? que não
  existiam -> helpers movidos para ApplicationPolicy (toda policy herda)
- View de usuários usava helper badge_role inexistente -> criado em
  ApplicationHelper (badge por papel, cores do navbar)

Spec: ConfiguracaoPolicy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 02:02:44 -03:00

42 lines
835 B
Ruby

# app/policies/application_policy.rb
class ApplicationPolicy
attr_reader :user, :record
def initialize(user, record)
@user = user
@record = record
end
def index? = user.pode_consolidar? || user.admin?
def show? = user.pode_consolidar? || user.admin?
def create? = user.pode_consolidar? || user.admin?
def new? = create?
def update? = user.pode_consolidar? || user.admin?
def edit? = update?
def destroy? = user.admin?
# Helpers de papel disponíveis para todas as policies (delegam para o User)
def admin?
user.admin?
end
def admin_ou_gerente?
user.admin? || user.gerente?
end
class Scope
def initialize(user, scope)
@user = user
@scope = scope
end
def resolve
@scope.all
end
private
attr_reader :user, :scope
end
end