Module: ErpBaseErpSvcs::Extensions::ActiveRecord::IsContactMechanism::SingletonMethods

Defined in:
lib/erp_base_erp_svcs/extensions/active_record/is_contact_mechanism.rb

Instance Method Summary collapse

Instance Method Details

#for_parties(parties, contact_purposes = []) ⇒ Object

return all contact mechanism instances for parties

Parameters:

  • parties (Array)

    Array of parties to get contacts for

  • contact_purposes (Array) (defaults to: [])

    Array of ContactPurposes to look up



34
35
36
37
38
39
40
41
42
# File 'lib/erp_base_erp_svcs/extensions/active_record/is_contact_mechanism.rb', line 34

def for_parties(parties, contact_purposes=[])
  query = self.joins(contact: [:contact_purposes])

  unless contact_purposes.empty?
    query = query.where(contact_purposes: {id: contact_purposes})
  end

  query.where(contacts: {contact_record_type: 'Party', contact_record_id: parties})
end