- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
class Company
has_many :company_contacts, autosave: true
has_many :contacts, through: :company_contacts, class_name: 'User'
has_many :primary_contacts, through: :company_contacts, class_name: 'User',
conditions: {company_contacts: {active: true, position: CompanyContact::PRIMARY}}
has_many :secondary_contacts, through: :company_contacts, class_name: 'User',
conditions: {company_contacts: {active: true, position: CompanyContact::SECONDARY}}
has_many :contacts, through: :company_contacts, class_name: 'User'
def primary_contact
primary_contacts.first
end
def primary_contact_id
primary_contact.try(:id)
end
def primary_contact_id=(user_id)
self.company_contacts.new(user_id: user_id, position: CompanyContact::PRIMARY, active: true) if user_id.present?
end
def secondary_contact
secondary_contacts.first
end
def secondary_contact_id
secondary_contact.try(:id)
end
def secondary_contact_id=(user_id)
self.company_contacts.new(user_id: user_id, position: CompanyContact::SECONDARY, active: true) if user_id.present?
end
end