Restructure omni services and add Chatwoot research snapshot
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
class AccountSamlSettingsPolicy < ApplicationPolicy
|
||||
def show?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def create?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def update?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def destroy?
|
||||
@account_user.administrator?
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,21 @@
|
||||
class AgentCapacityPolicyPolicy < ApplicationPolicy
|
||||
def index?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def create?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def show?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def update?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def destroy?
|
||||
@account_user.administrator?
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,29 @@
|
||||
class Captain::AssistantPolicy < ApplicationPolicy
|
||||
def index?
|
||||
true
|
||||
end
|
||||
|
||||
def show?
|
||||
true
|
||||
end
|
||||
|
||||
def tools?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def create?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def update?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def destroy?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def playground?
|
||||
true
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,21 @@
|
||||
class Captain::CustomToolPolicy < ApplicationPolicy
|
||||
def index?
|
||||
true
|
||||
end
|
||||
|
||||
def show?
|
||||
true
|
||||
end
|
||||
|
||||
def create?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def update?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def destroy?
|
||||
@account_user.administrator?
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,21 @@
|
||||
class Captain::ScenarioPolicy < ApplicationPolicy
|
||||
def index?
|
||||
true
|
||||
end
|
||||
|
||||
def show?
|
||||
true
|
||||
end
|
||||
|
||||
def create?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def update?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def destroy?
|
||||
@account_user.administrator?
|
||||
end
|
||||
end
|
||||
25
research/chatwoot/enterprise/app/policies/company_policy.rb
Normal file
25
research/chatwoot/enterprise/app/policies/company_policy.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
class CompanyPolicy < ApplicationPolicy
|
||||
def index?
|
||||
true
|
||||
end
|
||||
|
||||
def search?
|
||||
true
|
||||
end
|
||||
|
||||
def show?
|
||||
true
|
||||
end
|
||||
|
||||
def create?
|
||||
true
|
||||
end
|
||||
|
||||
def update?
|
||||
true
|
||||
end
|
||||
|
||||
def destroy?
|
||||
@account_user.administrator?
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,21 @@
|
||||
class CustomRolePolicy < ApplicationPolicy
|
||||
def index?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def update?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def show?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def create?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def destroy?
|
||||
@account_user.administrator?
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,29 @@
|
||||
module Enterprise::ArticlePolicy
|
||||
def index?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def update?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def show?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def edit?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def create?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def destroy?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def reorder?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,25 @@
|
||||
module Enterprise::CategoryPolicy
|
||||
def index?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def update?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def show?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def edit?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def create?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def destroy?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,42 @@
|
||||
module Enterprise::ConversationPolicy
|
||||
def show?
|
||||
return false unless super
|
||||
return true unless custom_role_permissions?
|
||||
|
||||
permissions = custom_role_permissions
|
||||
return true if manage_all_conversations?(permissions)
|
||||
return true if permits_unassigned_manage?(permissions)
|
||||
|
||||
permits_participating?(permissions)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def manage_all_conversations?(permissions)
|
||||
permissions.include?('conversation_manage')
|
||||
end
|
||||
|
||||
def permits_unassigned_manage?(permissions)
|
||||
return false unless permissions.include?('conversation_unassigned_manage')
|
||||
|
||||
unassigned_conversation? || assigned_to_user?
|
||||
end
|
||||
|
||||
def permits_participating?(permissions)
|
||||
return false unless permissions.include?('conversation_participating_manage')
|
||||
|
||||
assigned_to_user? || participant?
|
||||
end
|
||||
|
||||
def unassigned_conversation?
|
||||
record.assignee_id.nil?
|
||||
end
|
||||
|
||||
def custom_role_permissions?
|
||||
account_user&.custom_role_id.present?
|
||||
end
|
||||
|
||||
def custom_role_permissions
|
||||
account_user&.custom_role&.permissions || []
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,17 @@
|
||||
module Enterprise::CsatSurveyResponsePolicy
|
||||
def index?
|
||||
@account_user.custom_role&.permissions&.include?('report_manage') || super
|
||||
end
|
||||
|
||||
def metrics?
|
||||
@account_user.custom_role&.permissions&.include?('report_manage') || super
|
||||
end
|
||||
|
||||
def download?
|
||||
@account_user.custom_role&.permissions&.include?('report_manage') || super
|
||||
end
|
||||
|
||||
def update?
|
||||
@account_user.administrator? || @account_user.custom_role&.permissions&.include?('report_manage')
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,13 @@
|
||||
module Enterprise::PortalPolicy
|
||||
def update?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def edit?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
|
||||
def logo?
|
||||
@account_user.custom_role&.permissions&.include?('knowledge_base_manage') || super
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,5 @@
|
||||
module Enterprise::ReportPolicy
|
||||
def view?
|
||||
@account_user.custom_role&.permissions&.include?('report_manage') || super
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,21 @@
|
||||
class SlaPolicyPolicy < ApplicationPolicy
|
||||
def index?
|
||||
@account_user.administrator? || @account_user.agent?
|
||||
end
|
||||
|
||||
def update?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def show?
|
||||
@account_user.administrator? || @account_user.agent?
|
||||
end
|
||||
|
||||
def create?
|
||||
@account_user.administrator?
|
||||
end
|
||||
|
||||
def destroy?
|
||||
@account_user.administrator?
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user