Sha256: 468154a2943fc77fd864ae6dbac028ca2b0541c06d2fd69a6adf5c513bc5d727
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
class Tramway::Event::Participant < ::Tramway::Event::ApplicationRecord belongs_to :event, class_name: 'Tramway::Event::Event' state_machine :participation_state, initial: :requested do state :requested state :prev_approved state :waiting state :rejected state :approved state :without_answer state :reserved event :previous_approve do transition [ :requested, :without_answer, :waiting ] => :prev_approved end event :wait_for_decision do transition [ :requested, :without_answer ] => :waiting end event :reject do transition [ :requested, :without_answer, :waiting, :prev_approved, :reserved ] => :rejected end event :approve do transition [ :prev_approved, :reserved, :requested ] => :approved end event :not_got_answer do transition requested: :without_answer end event :reserve do transition [ :requested, :without_answer, :waiting ] => :reserved end event :return_to_requested do transition [ :prev_approved, :rejected ] => :requested end end scope :requested, -> { where participation_state: :requested } scope :waiting, -> { where participation_state: :waiting } scope :prev_approved, -> { where participation_state: :prev_approved } scope :rejected, -> { where participation_state: :rejected } scope :approved, -> { where participation_state: :approved } scope :without_answer, -> { where participation_state: :without_answer } scope :reserved, -> { where participation_state: :reserved } search_by :values end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tramway-event-1.9.19 | app/models/tramway/event/participant.rb |