Skip to content

Commit 7f097f9

Browse files
authored
Merge pull request #938 from amatsuda/inline_proposal_state
Inline Proposal::State into Proposal
2 parents 683d497 + 2a1fb42 commit 7f097f9

File tree

2 files changed

+28
-35
lines changed

2 files changed

+28
-35
lines changed

app/models/proposal.rb

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,29 @@
11
# frozen_string_literal: true
22

33
class Proposal < ApplicationRecord
4-
include Proposal::State
4+
enum :state, {
5+
submitted: 'submitted',
6+
soft_accepted: 'soft accepted',
7+
soft_waitlisted: 'soft waitlisted',
8+
soft_rejected: 'soft rejected',
9+
accepted: 'accepted',
10+
waitlisted: 'waitlisted',
11+
rejected: 'rejected',
12+
withdrawn: 'withdrawn',
13+
not_accepted: 'not accepted'
14+
}, default: :submitted
15+
16+
SOFT_STATES = [:soft_accepted, :soft_waitlisted, :soft_rejected, :submitted].freeze
17+
FINAL_STATES = [:accepted, :waitlisted, :rejected, :withdrawn, :not_accepted].freeze
18+
19+
SOFT_TO_FINAL = {
20+
soft_accepted: :accepted,
21+
soft_rejected: :rejected,
22+
soft_waitlisted: :waitlisted,
23+
submitted: :rejected
24+
}.with_indifferent_access.freeze
25+
26+
BECOMES_PROGRAM_SESSION = [:accepted, :waitlisted].freeze
527

628
has_many :public_comments, dependent: :destroy
729
has_many :internal_comments, dependent: :destroy
@@ -142,6 +164,11 @@ def decline
142164
program_session.update(state: :declined)
143165
end
144166

167+
# draft? is an alias for submitted?
168+
def draft?
169+
submitted?
170+
end
171+
145172
def finalized?
146173
FINAL_STATES.include?(state.to_sym)
147174
end

app/models/proposal/state.rb

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)