module ErpBaseErpSvcs::Extensions::ActiveRecord::IsContactMechanism::SingletonMethods

Public Instance Methods

for_parties(parties, contact_purposes=[]) click to toggle source

return all contact mechanism instances for parties

@param parties [Array] Array of parties to get contacts for @param contact_purposes [Array] Array of ContactPurposes to look up

# 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