Files
Reem-Notas/app/policies/evento_notificacao_policy.rb

26 lines
738 B
Ruby

# app/policies/evento_notificacao_policy.rb
class EventoNotificacaoPolicy < ApplicationPolicy
def index? = pode?('notificacao.eventos')
def show? = index?
def create? = pode?('notificacao.eventos_gerenciar')
def new? = create?
def update? = create?
def edit? = update?
# Disparar manda mensagem DE VERDADE, em nome da empresa — chave própria,
# separada de configurar o evento.
def disparar? = pode?('notificacao.disparar_manual')
# Evento de sistema não é apagável: o código dispara por ele.
def destroy?
create? && record.respond_to?(:apagavel?) && record.apagavel?
end
class Scope < Scope
def resolve
user.pode?('notificacao.eventos') ? scope.all : scope.none
end
end
end