12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- class Participant < ApplicationRecord
-
-
-
-
-
-
-
-
-
-
-
-
- belongs_to :person
- belongs_to :activity
- belongs_to :subgroup, optional: true
- validates :person_id,
- uniqueness: {
- scope: :activity_id,
- message: I18n.t('activities.errors.already_in')
- }
-
-
-
- def row_class
- if self.attending
- "success"
- elsif self.attending == false
- "danger"
- else
- "warning"
- end
- end
- def may_change?(person)
- self.activity.may_change?(person) ||
- self.person == person
- end
-
- def send_reminder
- return unless self.attending.nil?
- self.attending = true
- notes = self.notes || ""
- notes << '[auto]'
- self.notes = notes
- self.save
- return unless self.person.send_attendance_reminder
- ParticipantMailer.attendance_reminder(self.person, self.activity).deliver_later
- end
- end
|