diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index 3e461518c..8532a7f8a 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -102,7 +102,7 @@ class SpendingProposal < ActiveRecord::Base end def code - "#{id}" + (administrator.present? ? "-A#{administrator.id}" : "") + "#{Setting["proposal_code_prefix"]}-#{created_at.strftime('%Y')}-#{id}" + (administrator.present? ? "-A#{administrator.id}" : "") end def send_unfeasible_email diff --git a/spec/models/spending_proposal_spec.rb b/spec/models/spending_proposal_spec.rb index ebe3573a4..df5b5bdd6 100644 --- a/spec/models/spending_proposal_spec.rb +++ b/spec/models/spending_proposal_spec.rb @@ -114,12 +114,12 @@ describe SpendingProposal do let(:spending_proposal) { create(:spending_proposal) } it "returns the proposal id" do - expect(spending_proposal.code).to eq("#{spending_proposal.id}") + expect(spending_proposal.code).to include("#{spending_proposal.id}") end it "returns the administrator id when assigned" do spending_proposal.administrator = create(:administrator) - expect(spending_proposal.code).to eq("#{spending_proposal.id}-A#{spending_proposal.administrator.id}") + expect(spending_proposal.code).to include("#{spending_proposal.id}-A#{spending_proposal.administrator.id}") end end end