Sha256: 7a934e4613186404a02e2d6dd03c36d182802addb77a80b16c73ac410d6998ff
Contents?: true
Size: 1.34 KB
Versions: 1
Compression:
Stored size: 1.34 KB
Contents
class CalendarEvent < ActiveRecord::Base # attr_accessible :title, :body attr_accessor :invitee_status has_many :cal_evt_party_roles, dependent: :destroy has_many :parties, :through => :cal_evt_party_roles has_many :calendar_invites, dependent: :destroy has_file_assets # serialize ExtJs attributes is_json :custom_fields def invitee_status_for_party( invitee_party_id ) invite = CalendarInvite.where( "invitee_id = ? and calendar_event_id = ?", invitee_party_id, self.id ).first invite ? invite.current_status : nil end def get_invitees self.calendar_invites.map { |i| i.invitee }.compact end def get_accepted_invitees self.calendar_invites.select{ |i| i.current_status == 'accepted'}.map { |i| i.invitee }.compact end def primary_event_host self.parties.where("role_type_id = ?", RoleType.iid('cal_evt_host')).first end def find_parties_by_role(role) self.parties.where("role_type_id = ?", role.id).all end #This is a convenience method whose primary use is when a CalendarEvent starts out using specific invitations #and later gets changed to being a public or network-type invite. You can clean up un-accepted invitations #and invitees can still accept via the public or network invite. def remove_unaccepted_invitations end def to_json super methods: [:invitee_status] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
erp_work_effort-4.2.0 | app/models/calendar_event.rb |