25 lines
709 B
Ruby
25 lines
709 B
Ruby
# app/policies/contato_policy.rb
|
|
#
|
|
# Contatos e grupos (GrupoContatoPolicy herda esta) — quem RECEBE as mensagens.
|
|
class ContatoPolicy < ApplicationPolicy
|
|
def index? = pode?('notificacao.contatos')
|
|
def show? = index?
|
|
|
|
def create? = pode?('notificacao.contatos_gerenciar')
|
|
def new? = create?
|
|
def update? = create?
|
|
def edit? = update?
|
|
|
|
# Excluir destinatário é separado de editar: some do histórico de quem recebe.
|
|
def destroy? = pode?('notificacao.contatos_excluir')
|
|
|
|
# Grupos do WhatsApp carregados sob demanda pelo form.
|
|
def grupos_whatsapp? = create?
|
|
|
|
class Scope < Scope
|
|
def resolve
|
|
user.pode?('notificacao.contatos') ? scope.all : scope.none
|
|
end
|
|
end
|
|
end
|