module ErpBaseErpSvcs::Extensions::ActiveRecord::HasPartyRoles::InstanceMethods

Public Instance Methods

add_party_with_role(party, role_type) click to toggle source
# File lib/erp_base_erp_svcs/extensions/active_record/has_party_roles.rb, line 42
def add_party_with_role(party, role_type)
  entity_party_role = EntityPartyRole.where(party_id: party,
                                            role_type_id: role_type,
                                            entity_record_id: self.id,
                                            entity_record_type: self.class.name).first

  unless entity_party_role
    entity_party_role = EntityPartyRole.create(party: party,
                                               role_type: role_type,
                                               entity_record: self)
  end

  entity_party_role
end
find_parties_by_role(role_type) click to toggle source
# File lib/erp_base_erp_svcs/extensions/active_record/has_party_roles.rb, line 68
def find_parties_by_role(role_type)
  if role_type.is_a?(String)
    role_type = RoleType.iid(role_type)
  end

  entity_party_roles.where(role_type_id: role_type.id).collect(&:party)
end
find_party_with_role(role_type) click to toggle source
# File lib/erp_base_erp_svcs/extensions/active_record/has_party_roles.rb, line 76
def find_party_with_role(role_type)
  if role_type.is_a?(String)
    role_type = RoleType.iid(role_type)
  end

  entity_party_role = entity_party_roles.where(role_type_id: role_type.id).first

  if entity_party_role
    entity_party_role.party
  else
    nil
  end
end
remove_party_with_role(party, role_type) click to toggle source
# File lib/erp_base_erp_svcs/extensions/active_record/has_party_roles.rb, line 57
def remove_party_with_role(party, role_type)
  entity_party_role = EntityPartyRole.where(party_id: party,
                                            role_type_id: role_type,
                                            entity_record_id: self.id,
                                            entity_record_type: self.class.name).first

  if entity_party_role
    entity_party_role.destroy
  end
end