diff --git a/app/models/proposal.rb b/app/models/proposal.rb index 8f59585e4..9eb05f766 100644 --- a/app/models/proposal.rb +++ b/app/models/proposal.rb @@ -74,6 +74,10 @@ class Proposal < ActiveRecord::Base user.level_two_verified? || !user.voted_for?(self) end + def code + "#{Setting.value_for("proposal_code_prefix")}-#{created_at.strftime('%Y-%M')}-#{id}" + end + protected def sanitize_description diff --git a/spec/models/proposal_spec.rb b/spec/models/proposal_spec.rb index 52896e0da..cfb9b48fa 100644 --- a/spec/models/proposal_spec.rb +++ b/spec/models/proposal_spec.rb @@ -46,6 +46,12 @@ describe Proposal do expect(proposal).to_not be_valid end + it "should have a code" do + Setting.find_by(key: "proposal_code_prefix").update(value: "TEST") + proposal = create(:proposal) + expect(proposal.code).to eq "TEST-#{proposal.created_at.strftime('%Y-%M')}-#{proposal.id}" + end + describe "#editable?" do let(:proposal) { create(:proposal) } before(:each) {Setting.find_by(key: "max_votes_for_proposal_edit").update(value: 100)}