Chatwoot/app/policies/inbox_policy.rb

50 lines
866 B
Ruby
Raw Normal View History

class InboxPolicy < ApplicationPolicy
class Scope
attr_reader :user_context, :user, :scope, :account, :account_user
def initialize(user_context, scope)
@user_context = user_context
@user = user_context[:user]
@account = user_context[:account]
@account_user = user_context[:account_user]
@scope = scope
end
def resolve
if @account_user.administrator?
scope.all
elsif @account_user.agent?
user.assigned_inboxes
end
end
end
def index?
true
end
def assignable_agents?
true
end
2021-04-29 16:53:32 +00:00
def campaigns?
@account_user.administrator?
end
def create?
@account_user.administrator?
end
def update?
@account_user.administrator?
end
def destroy?
@account_user.administrator?
end
def set_agent_bot?
@account_user.administrator?
end
end