Files
Reem-Notas/app/policies/user_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

49 lines
661 B
Ruby

# app/policies/user_policy.rb
class UserPolicy < ApplicationPolicy
def index?
admin_ou_gerente?
end
def show?
admin? || record == user
end
def create?
admin?
end
def new?
create?
end
def update?
admin? || record == user
end
def edit?
update?
end
def destroy?
admin? && record != user
end
def toggle_ativo?
admin?
end
# admin? e admin_ou_gerente? vêm da ApplicationPolicy.
class Scope < Scope
def resolve
if user.admin?
scope.all
elsif user.gerente?
scope.where.not(role: :admin)
else
scope.where(id: user.id)
end
end
end
end