Class: Issuables::CrmContactFilter

Inherits:
BaseFilter show all
Defined in:
app/finders/issuables/crm_contact_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_contact(issuables) ⇒ Object

rubocop: disable CodeReuse/ActiveRecord



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

def by_crm_contact(issuables)
  return issuables if params[:crm_contact_id].blank?

  condition = CustomerRelations::IssueContact
    .where(contact_id: params[:crm_contact_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_contact_filter.rb', line 5

def filter(issuables)
  by_crm_contact(issuables)
end