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

@@ -0,0 +1,24 @@
# app/policies/perfil_acesso_policy.rb
#
# Quem monta perfil decide o acesso de todo mundo — é a permissão mais sensível
# do sistema, por isso ela é uma chave própria (`admin.perfis`) e não vem junto
# de "gerenciar usuários".
class PerfilAcessoPolicy < ApplicationPolicy
def index? = user.pode?('admin.perfis')
def show? = index?
def create? = index?
def new? = create?
def update? = index?
def edit? = update?
# Perfil de sistema ou em uso não sai (ver PerfilAcesso#apagavel?).
def destroy?
index? && record.respond_to?(:apagavel?) && record.apagavel?
end
class Scope < Scope
def resolve
user.pode?('admin.perfis') ? scope.all : scope.none
end
end
end