34 lines
849 B
Ruby
34 lines
849 B
Ruby
# frozen_string_literal: true
|
|
|
|
module CustomerRelations
|
|
module Contacts
|
|
class BaseService < ::BaseGroupService
|
|
private
|
|
|
|
def allowed?
|
|
current_user&.can?(:admin_crm_contact, group)
|
|
end
|
|
|
|
def error(message)
|
|
ServiceResponse.error(message: Array(message))
|
|
end
|
|
|
|
def organization_valid?
|
|
return true unless params[:organization_id]
|
|
|
|
organization = Organization.find(params[:organization_id])
|
|
organization.group_id == group.id
|
|
rescue ActiveRecord::RecordNotFound
|
|
false
|
|
end
|
|
|
|
def error_organization_invalid
|
|
error('The specified organization was not found or does not belong to this group')
|
|
end
|
|
|
|
def error_no_permissions
|
|
error('You have insufficient permissions to manage contacts for this group')
|
|
end
|
|
end
|
|
end
|
|
end
|