From a022af22bdb50d155b579d8080d712155d03b907 Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Tue, 23 Dec 2025 17:09:05 +0900 Subject: [PATCH 1/7] Define ProgramSession#state enum --- app/models/program_session.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/models/program_session.rb b/app/models/program_session.rb index e415b768b..8cefda882 100644 --- a/app/models/program_session.rb +++ b/app/models/program_session.rb @@ -14,6 +14,14 @@ class ProgramSession < ApplicationRecord CONFIRMED_WAITLISTED, DECLINED ] + enum :state, { + live: 'live', + draft: 'draft', + unconfirmed_accepted: 'unconfirmed accepted', + unconfirmed_waitlisted: 'unconfirmed waitlisted', + confirmed_waitlisted: 'confirmed waitlisted', + declined: 'declined' + }, default: :draft STATE_GROUPS = { LIVE => "program", From 3ac82570c5c3eaabc97b366c9b3fd7b5c0931138 Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Tue, 23 Dec 2025 17:15:17 +0900 Subject: [PATCH 2/7] :golf: --- app/models/program_session.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/program_session.rb b/app/models/program_session.rb index 8cefda882..9874b0d62 100644 --- a/app/models/program_session.rb +++ b/app/models/program_session.rb @@ -105,7 +105,7 @@ def self.create_from_proposal(proposal) end def can_confirm? - CONFIRMATIONS.keys.include?(state) + CONFIRMATIONS.key?(state) end def confirm @@ -113,7 +113,7 @@ def confirm end def can_promote? - PROMOTIONS.keys.include?(state) + PROMOTIONS.key?(state) end def promote From a90794bcfdbdaf6b492ef30ba2bf26afa9af6ac8 Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Tue, 23 Dec 2025 17:13:34 +0900 Subject: [PATCH 3/7] Access ProgramSession#state with labels --- .../staff/program_sessions_controller.rb | 2 +- .../staff/program_session_decorator.rb | 28 ++++++--------- app/models/program_session.rb | 36 +++++++++---------- app/models/proposal.rb | 2 +- db/seeds.rb | 8 ++--- spec/factories/program_sessions.rb | 2 +- spec/models/program_session_spec.rb | 10 +++--- .../organizer_manages_program_session_spec.rb | 4 +-- 8 files changed, 42 insertions(+), 50 deletions(-) diff --git a/app/controllers/staff/program_sessions_controller.rb b/app/controllers/staff/program_sessions_controller.rb index 66f95adf4..249ec164e 100644 --- a/app/controllers/staff/program_sessions_controller.rb +++ b/app/controllers/staff/program_sessions_controller.rb @@ -50,7 +50,7 @@ def new def create @program_session = current_event.program_sessions.build(program_session_params) authorize @program_session - @program_session.state = ProgramSession::DRAFT + @program_session.state = :draft @program_session.speakers.each { |speaker| speaker.event_id = current_event.id } if @program_session.save redirect_to event_staff_program_session_path(current_event, @program_session) diff --git a/app/decorators/staff/program_session_decorator.rb b/app/decorators/staff/program_session_decorator.rb index 3229c7be5..688b7dd68 100644 --- a/app/decorators/staff/program_session_decorator.rb +++ b/app/decorators/staff/program_session_decorator.rb @@ -8,7 +8,7 @@ def state_label(large: false, state: nil) classes = "label #{state_class(state)}" classes += ' label-large' if large - h.content_tag :span, state, class: classes + h.content_tag :span, object.state_before_type_cast, class: classes end def confirmation_notes_link @@ -19,23 +19,17 @@ def confirmation_notes_link end end + STATE_CLASSES = { + live: 'label-success', + draft: 'label-default', + unconfirmed_accepted: 'label-info', + unconfirmed_waitlisted: 'label-warning', + confirmed_waitlisted: 'label-warning', + declined: 'label-danger' + }.with_indifferent_access + def state_class(state) - case state - when ProgramSession::LIVE - 'label-success' - when ProgramSession::DRAFT - 'label-default' - when ProgramSession::UNCONFIRMED_ACCEPTED - 'label-info' - when ProgramSession::UNCONFIRMED_WAITLISTED - 'label-warning' - when ProgramSession::CONFIRMED_WAITLISTED - 'label-warning' - when ProgramSession::DECLINED - 'label-danger' - else - 'label-default' - end + STATE_CLASSES[state] || 'label-default' end def track_name diff --git a/app/models/program_session.rb b/app/models/program_session.rb index 9874b0d62..bbaa95ccb 100644 --- a/app/models/program_session.rb +++ b/app/models/program_session.rb @@ -24,24 +24,24 @@ class ProgramSession < ApplicationRecord }, default: :draft STATE_GROUPS = { - LIVE => "program", - DRAFT => "program", - UNCONFIRMED_ACCEPTED => "program", - UNCONFIRMED_WAITLISTED => "waitlist", - CONFIRMED_WAITLISTED => "waitlist", - DECLINED => "declined" - } + live: 'program', + draft: 'program', + unconfirmed_accepted: 'program', + unconfirmed_waitlisted: 'waitlist', + confirmed_waitlisted: 'waitlist', + declined: 'declined' + }.with_indifferent_access PROMOTIONS = { - DRAFT => LIVE, - UNCONFIRMED_WAITLISTED => UNCONFIRMED_ACCEPTED, - CONFIRMED_WAITLISTED => LIVE - } + draft: :live, + unconfirmed_waitlisted: :unconfirmed_accepted, + confirmed_waitlisted: :live + }.with_indifferent_access CONFIRMATIONS = { - UNCONFIRMED_WAITLISTED => CONFIRMED_WAITLISTED, - UNCONFIRMED_ACCEPTED => LIVE - } + unconfirmed_waitlisted: :confirmed_waitlisted, + unconfirmed_accepted: :live + }.with_indifferent_access belongs_to :event belongs_to :proposal, optional: true @@ -55,8 +55,6 @@ class ProgramSession < ApplicationRecord validates :event, :session_format, :title, :state, presence: true - validates_inclusion_of :state, in: STATES - serialize :info, type: Hash, coder: YAML after_destroy :destroy_speakers @@ -67,8 +65,8 @@ class ProgramSession < ApplicationRecord scope :sorted_by_title, -> { order(:title)} scope :live, -> { where(state: LIVE) } scope :draft, -> { where(state: DRAFT) } - scope :waitlisted, -> { where(state: [CONFIRMED_WAITLISTED, UNCONFIRMED_WAITLISTED]) } - scope :program, -> { where(state: [LIVE, DRAFT, UNCONFIRMED_ACCEPTED]) } + scope :waitlisted, -> { where(state: [:confirmed_waitlisted, :unconfirmed_waitlisted]) } + scope :program, -> { where(state: [:live, :draft, :unconfirmed_accepted]) } scope :declined, -> { where(state: DECLINED) } scope :without_proposal, -> { where(proposal: nil) } scope :in_track, ->(track) do @@ -89,7 +87,7 @@ def self.create_from_proposal(proposal) abstract: proposal.abstract, track_id: proposal.track_id, session_format_id: proposal.session_format_id, - state: proposal.waitlisted? ? UNCONFIRMED_WAITLISTED : UNCONFIRMED_ACCEPTED + state: proposal.waitlisted? ? :unconfirmed_waitlisted : :unconfirmed_accepted ) #attach proposal speakers to new program session diff --git a/app/models/proposal.rb b/app/models/proposal.rb index 50d7ce516..7d019b900 100644 --- a/app/models/proposal.rb +++ b/app/models/proposal.rb @@ -149,7 +149,7 @@ def promote def decline update(state: WITHDRAWN, confirmed_at: Time.current) - program_session.update(state: ProgramSession::DECLINED) + program_session.update(state: :declined) end def draft? diff --git a/db/seeds.rb b/db/seeds.rb index 566fe9f9e..2a3395b52 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -339,7 +339,7 @@ def create_seed_data program_session_1 = seed_event.program_sessions.where( event: seed_event, proposal: accepted_proposal_1, - state: ProgramSession::LIVE, + state: :live, title: accepted_proposal_1.title, abstract: accepted_proposal_1.abstract, track: accepted_proposal_1.track, @@ -349,7 +349,7 @@ def create_seed_data program_session_2 = seed_event.program_sessions.where( event: seed_event, proposal: accepted_proposal_2, - state: ProgramSession::LIVE, + state: :live, title: accepted_proposal_2.title, abstract: accepted_proposal_2.abstract, track: accepted_proposal_2.track, @@ -358,7 +358,7 @@ def create_seed_data program_session_3 = seed_event.program_sessions.where( event: seed_event, - state: ProgramSession::LIVE, + state: :live, title: "Keynote Session", abstract: "The keynote session will kick off the conference for all attendees.", session_format: internal_session @@ -510,7 +510,7 @@ def create_seed_data program_session = schedule_event.program_sessions.create!({ proposal: accepted_proposal, - state: ProgramSession::LIVE, + state: :live, title: accepted_proposal.title, abstract: accepted_proposal.abstract, track: accepted_proposal.track, diff --git a/spec/factories/program_sessions.rb b/spec/factories/program_sessions.rb index 814fee917..cf806928c 100644 --- a/spec/factories/program_sessions.rb +++ b/spec/factories/program_sessions.rb @@ -2,7 +2,7 @@ factory :program_session do sequence(:title) { |i| "Default Session #{i}" } abstract { "Just some abstract" } - state { ProgramSession::LIVE } + state { :live } session_format event diff --git a/spec/models/program_session_spec.rb b/spec/models/program_session_spec.rb index e707fc4a6..c96cfc2ea 100644 --- a/spec/models/program_session_spec.rb +++ b/spec/models/program_session_spec.rb @@ -168,21 +168,21 @@ describe "#promote" do it "promotes a draft to accepted_confirmed" do - ps = create(:program_session, state: "draft", proposal: proposal, track: proposal.track) + ps = create(:program_session, state: :draft, proposal: proposal, track: proposal.track) ps.promote expect(ps.reload.state).to eq("live") end it "promotes an unconfirmed waitlisted to unconfirmed_accepted" do - ps = create(:program_session, state: "unconfirmed waitlisted", proposal: proposal, track: proposal.track) + ps = create(:program_session, state: :unconfirmed_waitlisted, proposal: proposal, track: proposal.track) ps.promote expect(ps.reload.state).to eq("unconfirmed accepted") end it "promotes a confirmed_waitlisted to live" do - ps = create(:program_session, state: "confirmed waitlisted", proposal: proposal, track: proposal.track) + ps = create(:program_session, state: :confirmed_waitlisted, proposal: proposal, track: proposal.track) ps.promote expect(ps.reload.state).to eq("live") @@ -220,7 +220,7 @@ describe "#confirm" do it "confirms an unconfirmed_waitlisted session" do - ps = create(:program_session, state: "unconfirmed waitlisted", proposal: proposal, track: proposal.track) + ps = create(:program_session, state: :unconfirmed_waitlisted, proposal: proposal, track: proposal.track) ps.confirm @@ -228,7 +228,7 @@ end it "confirms an unconfirmed_accepted session" do - ps = create(:program_session, state: "unconfirmed accepted", proposal: proposal, track: proposal.track) + ps = create(:program_session, state: :unconfirmed_accepted, proposal: proposal, track: proposal.track) ps.confirm diff --git a/spec/system/staff/organizer_manages_program_session_spec.rb b/spec/system/staff/organizer_manages_program_session_spec.rb index 5678f7f18..cf0499984 100644 --- a/spec/system/staff/organizer_manages_program_session_spec.rb +++ b/spec/system/staff/organizer_manages_program_session_spec.rb @@ -14,7 +14,7 @@ end context "organizer can promote a waitlisted program session" do - let!(:waitlisted_session) { create(:program_session_with_proposal, event: event, session_format: session_format, state: ProgramSession::CONFIRMED_WAITLISTED) } + let!(:waitlisted_session) { create(:program_session_with_proposal, event: event, session_format: session_format, state: :confirmed_waitlisted) } scenario "from program session index", js: true do visit event_staff_program_sessions_path(event) @@ -49,7 +49,7 @@ end context "organizer can promote a draft program session" do - let!(:draft_session) { create(:program_session_with_proposal, event: event, session_format: session_format, state: ProgramSession::DRAFT) } + let!(:draft_session) { create(:program_session_with_proposal, event: event, session_format: session_format, state: :draft) } scenario "from program session index", js: true do visit event_staff_program_sessions_path(event) From 90d2de489069b597d163d6dc1a7bee8cea00eaef Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Tue, 23 Dec 2025 17:17:05 +0900 Subject: [PATCH 4/7] Use defined ProgramSession.states to retrieve Enum values --- app/helpers/program_session_helper.rb | 2 +- app/models/program_session.rb | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/app/helpers/program_session_helper.rb b/app/helpers/program_session_helper.rb index be12a0200..bc7cdbdd5 100644 --- a/app/helpers/program_session_helper.rb +++ b/app/helpers/program_session_helper.rb @@ -1,6 +1,6 @@ module ProgramSessionHelper def session_states_collection - ProgramSession::STATES.map { |state| [state.titleize, state] } + ProgramSession.states.values.map { |state| [state.titleize, state] } end def speakers_emails(session) diff --git a/app/models/program_session.rb b/app/models/program_session.rb index bbaa95ccb..05bd9460a 100644 --- a/app/models/program_session.rb +++ b/app/models/program_session.rb @@ -6,14 +6,6 @@ class ProgramSession < ApplicationRecord CONFIRMED_WAITLISTED = 'confirmed waitlisted' DECLINED = 'declined' - STATES = [ - LIVE, - DRAFT, - UNCONFIRMED_ACCEPTED, - UNCONFIRMED_WAITLISTED, - CONFIRMED_WAITLISTED, - DECLINED - ] enum :state, { live: 'live', draft: 'draft', From 6ede2c8d181c2faeebddf64a1b3e893e992e1aff Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Tue, 23 Dec 2025 17:29:48 +0900 Subject: [PATCH 5/7] AR Enum defines them --- app/models/program_session.rb | 13 ++----------- .../controllers/staff/proposals_controller_spec.rb | 2 +- spec/models/program_session_spec.rb | 14 +++++++------- spec/models/proposal_spec.rb | 4 ++-- .../organizer_manages_program_session_spec.rb | 8 ++++---- spec/system/staff/proposals_spec.rb | 2 +- 6 files changed, 17 insertions(+), 26 deletions(-) diff --git a/app/models/program_session.rb b/app/models/program_session.rb index 05bd9460a..c93d98394 100644 --- a/app/models/program_session.rb +++ b/app/models/program_session.rb @@ -51,15 +51,10 @@ class ProgramSession < ApplicationRecord after_destroy :destroy_speakers - scope :unscheduled, -> do - where(state: LIVE).where.not(id: TimeSlot.pluck(:program_session_id)) - end - scope :sorted_by_title, -> { order(:title)} - scope :live, -> { where(state: LIVE) } - scope :draft, -> { where(state: DRAFT) } + scope :unscheduled, -> { live.where.not(id: TimeSlot.pluck(:program_session_id)) } + scope :sorted_by_title, -> { order(:title) } scope :waitlisted, -> { where(state: [:confirmed_waitlisted, :unconfirmed_waitlisted]) } scope :program, -> { where(state: [:live, :draft, :unconfirmed_accepted]) } - scope :declined, -> { where(state: DECLINED) } scope :without_proposal, -> { where(proposal: nil) } scope :in_track, ->(track) do track = nil if track.try(:strip).blank? @@ -113,10 +108,6 @@ def promote update(state: PROMOTIONS[state]) end - def live? - state == LIVE - end - def multiple_speakers? speakers.count > 1 end diff --git a/spec/controllers/staff/proposals_controller_spec.rb b/spec/controllers/staff/proposals_controller_spec.rb index 6bd1773f5..c6994d33d 100644 --- a/spec/controllers/staff/proposals_controller_spec.rb +++ b/spec/controllers/staff/proposals_controller_spec.rb @@ -73,7 +73,7 @@ it "creates a draft program session" do proposal = create(:proposal_with_track, event: event, state: Proposal::State::SOFT_ACCEPTED) post :finalize, params: {event_slug: event, proposal_uuid: proposal.uuid} - expect(proposal.program_session.state).to eq(ProgramSession::UNCONFIRMED_ACCEPTED) + expect(proposal.program_session).to be_unconfirmed_accepted end it "sends appropriate emails" do diff --git a/spec/models/program_session_spec.rb b/spec/models/program_session_spec.rb index c96cfc2ea..5efb0a5b4 100644 --- a/spec/models/program_session_spec.rb +++ b/spec/models/program_session_spec.rb @@ -35,12 +35,12 @@ end it "creates a program session that is a draft" do - expect(session.state).to eq("unconfirmed accepted") + expect(session).to be_unconfirmed_accepted end it "creates a program session that is waitlisted" do waitlisted_session = ProgramSession.create_from_proposal(waitlisted_proposal) - expect(waitlisted_session.state).to eq("unconfirmed waitlisted") + expect(waitlisted_session).to be_unconfirmed_waitlisted end it "sets program session id for all speakers" do @@ -171,21 +171,21 @@ ps = create(:program_session, state: :draft, proposal: proposal, track: proposal.track) ps.promote - expect(ps.reload.state).to eq("live") + expect(ps.reload).to be_live end it "promotes an unconfirmed waitlisted to unconfirmed_accepted" do ps = create(:program_session, state: :unconfirmed_waitlisted, proposal: proposal, track: proposal.track) ps.promote - expect(ps.reload.state).to eq("unconfirmed accepted") + expect(ps.reload).to be_unconfirmed_accepted end it "promotes a confirmed_waitlisted to live" do ps = create(:program_session, state: :confirmed_waitlisted, proposal: proposal, track: proposal.track) ps.promote - expect(ps.reload.state).to eq("live") + expect(ps.reload).to be_live end it "promotes it's proposal" do @@ -224,7 +224,7 @@ ps.confirm - expect(ps.reload.state).to eq("confirmed waitlisted") + expect(ps.reload).to be_confirmed_waitlisted end it "confirms an unconfirmed_accepted session" do @@ -232,7 +232,7 @@ ps.confirm - expect(ps.reload.state).to eq("live") + expect(ps.reload).to be_live end end diff --git a/spec/models/proposal_spec.rb b/spec/models/proposal_spec.rb index ca763d7c4..49344008d 100644 --- a/spec/models/proposal_spec.rb +++ b/spec/models/proposal_spec.rb @@ -201,8 +201,8 @@ prop.finalize end - expect(waitlisted_proposal.reload.program_session.state).to eq('unconfirmed waitlisted') - expect(accepted_proposal.reload.program_session.state).to eq('unconfirmed accepted') + expect(waitlisted_proposal.reload.program_session).to be_unconfirmed_waitlisted + expect(accepted_proposal.reload.program_session).to be_unconfirmed_accepted expect(rejected_proposal.reload.program_session).to be_nil expect(submitted_proposal.reload.program_session).to be_nil end diff --git a/spec/system/staff/organizer_manages_program_session_spec.rb b/spec/system/staff/organizer_manages_program_session_spec.rb index cf0499984..4e2108fdb 100644 --- a/spec/system/staff/organizer_manages_program_session_spec.rb +++ b/spec/system/staff/organizer_manages_program_session_spec.rb @@ -31,7 +31,7 @@ expect(page).to have_content ProgramSession::LIVE.upcase end expect(page).to_not have_css(".alert-danger") - expect(waitlisted_session.reload.state).to eq(ProgramSession::LIVE) + expect(waitlisted_session.reload).to be_live end scenario "from program session show page", js: true do @@ -44,7 +44,7 @@ expect(page).to have_content ProgramSession::LIVE.upcase expect(page).to_not have_css(".alert-danger") - expect(waitlisted_session.reload.state).to eq(ProgramSession::LIVE) + expect(waitlisted_session.reload).to be_live end end @@ -65,7 +65,7 @@ expect(page).to have_content ProgramSession::LIVE.upcase end expect(page).to_not have_css(".alert-danger") - expect(draft_session.reload.state).to eq(ProgramSession::LIVE) + expect(draft_session.reload).to be_live end scenario "from program session show page", js: true do @@ -78,7 +78,7 @@ expect(page).to have_content ProgramSession::LIVE.upcase expect(page).to_not have_css(".alert-danger") - expect(draft_session.reload.state).to eq(ProgramSession::LIVE) + expect(draft_session.reload).to be_live end end diff --git a/spec/system/staff/proposals_spec.rb b/spec/system/staff/proposals_spec.rb index 7596704c0..c5a5487c9 100644 --- a/spec/system/staff/proposals_spec.rb +++ b/spec/system/staff/proposals_spec.rb @@ -117,7 +117,7 @@ end it "creates a draft program session" do - expect(proposal.program_session.state).to eq(ProgramSession::UNCONFIRMED_WAITLISTED) + expect(proposal.program_session).to be_unconfirmed_waitlisted end end From f2cfa7b07679d2024dde32f186248c071690872c Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Tue, 23 Dec 2025 17:30:52 +0900 Subject: [PATCH 6/7] :golf: --- .../organizer_manages_program_session_spec.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/spec/system/staff/organizer_manages_program_session_spec.rb b/spec/system/staff/organizer_manages_program_session_spec.rb index 4e2108fdb..180d76a18 100644 --- a/spec/system/staff/organizer_manages_program_session_spec.rb +++ b/spec/system/staff/organizer_manages_program_session_spec.rb @@ -19,7 +19,7 @@ scenario "from program session index", js: true do visit event_staff_program_sessions_path(event) within("##{ActionView::RecordIdentifier.dom_id(waitlisted_session)}") do - expect(page).to have_content ProgramSession::CONFIRMED_WAITLISTED.upcase + expect(page).to have_content 'CONFIRMED WAITLISTED' end page.accept_confirm do @@ -28,7 +28,7 @@ end within("##{ActionView::RecordIdentifier.dom_id(waitlisted_session)}") do - expect(page).to have_content ProgramSession::LIVE.upcase + expect(page).to have_content 'LIVE' end expect(page).to_not have_css(".alert-danger") expect(waitlisted_session.reload).to be_live @@ -36,13 +36,13 @@ scenario "from program session show page", js: true do visit event_staff_program_session_path(event, waitlisted_session) - expect(page).to have_content ProgramSession::CONFIRMED_WAITLISTED.upcase + expect(page).to have_content 'CONFIRMED WAITLISTED' page.accept_confirm do click_link("Promote") end - expect(page).to have_content ProgramSession::LIVE.upcase + expect(page).to have_content 'LIVE' expect(page).to_not have_css(".alert-danger") expect(waitlisted_session.reload).to be_live end @@ -54,7 +54,7 @@ scenario "from program session index", js: true do visit event_staff_program_sessions_path(event) within("##{ActionView::RecordIdentifier.dom_id(draft_session)}") do - expect(page).to have_content ProgramSession::DRAFT.upcase + expect(page).to have_content 'DRAFT' end page.accept_confirm do @@ -62,7 +62,7 @@ end within("##{ActionView::RecordIdentifier.dom_id(draft_session)}") do - expect(page).to have_content ProgramSession::LIVE.upcase + expect(page).to have_content 'LIVE' end expect(page).to_not have_css(".alert-danger") expect(draft_session.reload).to be_live @@ -70,13 +70,13 @@ scenario "from program session show page", js: true do visit event_staff_program_session_path(event, draft_session) - expect(page).to have_content ProgramSession::DRAFT.upcase + expect(page).to have_content 'DRAFT' page.accept_confirm do click_link("Promote") end - expect(page).to have_content ProgramSession::LIVE.upcase + expect(page).to have_content 'LIVE' expect(page).to_not have_css(".alert-danger") expect(draft_session.reload).to be_live end From 2c4d73ee82844503650861a2d5d23cad39c3cb8f Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Tue, 23 Dec 2025 17:32:26 +0900 Subject: [PATCH 7/7] Unused constant --- app/models/program_session.rb | 7 ------- 1 file changed, 7 deletions(-) diff --git a/app/models/program_session.rb b/app/models/program_session.rb index c93d98394..044c02d4f 100644 --- a/app/models/program_session.rb +++ b/app/models/program_session.rb @@ -1,11 +1,4 @@ class ProgramSession < ApplicationRecord - LIVE = 'live' # confirmed accepted - DRAFT = 'draft' # created by organizer, not ready to be published (live) - UNCONFIRMED_ACCEPTED = 'unconfirmed accepted' # accepted, to be confirmed by speaker - UNCONFIRMED_WAITLISTED = 'unconfirmed waitlisted' - CONFIRMED_WAITLISTED = 'confirmed waitlisted' - DECLINED = 'declined' - enum :state, { live: 'live', draft: 'draft',