Class: Issuables::CrmOrganizationFilter

Inherits:
BaseFilter
  • Object
show all
Defined in:
app/finders/issuables/crm_organization_filter.rb

Constant Summary

Constants inherited from BaseFilter

BaseFilter::FILTER_ANY, BaseFilter::FILTER_NONE

Instance Attribute Summary

Attributes inherited from BaseFilter

#params

Instance Method Summary collapse

Methods inherited from BaseFilter

#initialize

Constructor Details

This class inherits a constructor from Issuables::BaseFilter

Instance Method Details

#by_crm_organization(issuables) ⇒ Object

rubocop: disable CodeReuse/ActiveRecord



10
11
12
13
14
15
16
17
18
# File 'app/finders/issuables/crm_organization_filter.rb', line 10

def by_crm_organization(issuables)
  return issuables if params[:crm_organization_id].blank?

  condition = CustomerRelations::IssueContact
    .joins(:contact)
    .where(contact: { organization_id: params[:crm_organization_id] })
    .where(Arel.sql("issue_id = issues.id"))
  issuables.where(condition.arel.exists)
end

#filter(issuables) ⇒ Object



5
6
7
# File 'app/finders/issuables/crm_organization_filter.rb', line 5

def filter(issuables)
  by_crm_organization(issuables)
end