From e407173e4b2705aada84e74077d7ffce047b2835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Sat, 12 Sep 2015 13:14:59 +0200 Subject: [PATCH] adds code to proposals --- app/models/proposal.rb | 4 ++++ spec/models/proposal_spec.rb | 6 ++++++ 2 files changed, 10 insertions(+) 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)}