Implandação da customização das permissões dos usuarios e das notificaçoes
This commit is contained in:
24
app/policies/perfil_acesso_policy.rb
Normal file
24
app/policies/perfil_acesso_policy.rb
Normal 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
|
||||
Reference in New Issue
Block a user