Class: CalendarEvent

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/calendar_event.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#invitee_statusObject

attr_accessible :title, :body



4
5
6
# File 'app/models/calendar_event.rb', line 4

def invitee_status
  @invitee_status
end

Instance Method Details

#find_parties_by_role(role) ⇒ Object



31
32
33
# File 'app/models/calendar_event.rb', line 31

def find_parties_by_role(role)
  self.parties.where("role_type_id = ?", role.id).all
end

#get_accepted_inviteesObject



23
24
25
# File 'app/models/calendar_event.rb', line 23

def get_accepted_invitees
  self.calendar_invites.select{ |i| i.current_status == 'accepted'}.map { |i| i.invitee }.compact
end

#get_inviteesObject



19
20
21
# File 'app/models/calendar_event.rb', line 19

def get_invitees
  self.calendar_invites.map { |i| i.invitee }.compact
end

#invitee_status_for_party(invitee_party_id) ⇒ Object



14
15
16
17
# File 'app/models/calendar_event.rb', line 14

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

#primary_event_hostObject



27
28
29
# File 'app/models/calendar_event.rb', line 27

def primary_event_host
  self.parties.where("role_type_id = ?", RoleType.iid('cal_evt_host')).first
end

#remove_unaccepted_invitationsObject

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.



38
39
40
# File 'app/models/calendar_event.rb', line 38

def remove_unaccepted_invitations

end

#to_jsonObject



42
43
44
# File 'app/models/calendar_event.rb', line 42

def to_json
  super methods: [:invitee_status]
end