From 3c8416e8637fecc0e8a652a0bb48b6889aa6cc79 Mon Sep 17 00:00:00 2001 From: kikito Date: Wed, 6 Apr 2016 19:18:10 +0200 Subject: [PATCH 1/5] Adds responsible_name to spending_proposals --- ...60406163649_add_responsible_name_to_spending_proposals.rb | 5 +++++ db/schema.rb | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20160406163649_add_responsible_name_to_spending_proposals.rb diff --git a/db/migrate/20160406163649_add_responsible_name_to_spending_proposals.rb b/db/migrate/20160406163649_add_responsible_name_to_spending_proposals.rb new file mode 100644 index 000000000..5749400bb --- /dev/null +++ b/db/migrate/20160406163649_add_responsible_name_to_spending_proposals.rb @@ -0,0 +1,5 @@ +class AddResponsibleNameToSpendingProposals < ActiveRecord::Migration + def change + add_column :spending_proposals, :responsible_name, :string, limit: 60 + end +end diff --git a/db/schema.rb b/db/schema.rb index a031c51f5..4183e0246 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20160329160106) do +ActiveRecord::Schema.define(version: 20160406163649) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -314,6 +314,7 @@ ActiveRecord::Schema.define(version: 20160329160106) do t.datetime "unfeasible_email_sent_at" t.integer "cached_votes_up", default: 0 t.tsvector "tsv" + t.string "responsible_name", limit: 60 end add_index "spending_proposals", ["author_id"], name: "index_spending_proposals_on_author_id", using: :btree From 32a60515c6901d3f2164185c5b4dcc8511f0fd5d Mon Sep 17 00:00:00 2001 From: kikito Date: Wed, 6 Apr 2016 19:23:05 +0200 Subject: [PATCH 2/5] updates the sp responsible_name when creating/editing a sp --- app/models/spending_proposal.rb | 6 ++++++ spec/models/spending_proposal_spec.rb | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index f11dc71c3..2ee2eb6e8 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -36,6 +36,8 @@ class SpendingProposal < ActiveRecord::Base scope :for_render, -> { includes(:geozone) } + before_validation :update_responsible_name + def description super.try :html_safe end @@ -120,4 +122,8 @@ class SpendingProposal < ActiveRecord::Base end end + def update_responsible_name + self.responsible_name = author.try(:username) + end + end diff --git a/spec/models/spending_proposal_spec.rb b/spec/models/spending_proposal_spec.rb index df5b5bdd6..d841abf06 100644 --- a/spec/models/spending_proposal_spec.rb +++ b/spec/models/spending_proposal_spec.rb @@ -261,4 +261,12 @@ describe SpendingProposal do end end + describe "responsible_name" do + it "gets updated with the user name" do + u = create(:user, username: "manolo") + sp = create(:spending_proposal, author: u) + expect(sp.responsible_name).to eq("manolo") + end + end + end From 95b0e75427d424a998d383c16ed3f17659e29371 Mon Sep 17 00:00:00 2001 From: kikito Date: Wed, 6 Apr 2016 19:27:18 +0200 Subject: [PATCH 3/5] Rename method --- app/models/spending_proposal.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index 2ee2eb6e8..f4657e9d4 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -36,7 +36,7 @@ class SpendingProposal < ActiveRecord::Base scope :for_render, -> { includes(:geozone) } - before_validation :update_responsible_name + before_validation :set_responsible_name def description super.try :html_safe @@ -122,7 +122,7 @@ class SpendingProposal < ActiveRecord::Base end end - def update_responsible_name + def set_responsible_name self.responsible_name = author.try(:username) end From 9a74b79eabaf6fc32781ebffc66fcc9602235e63 Mon Sep 17 00:00:00 2001 From: kikito Date: Wed, 6 Apr 2016 19:27:39 +0200 Subject: [PATCH 4/5] Fixes typo in rake task. Adds comment. --- lib/tasks/spending_proposals.rake | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/tasks/spending_proposals.rake b/lib/tasks/spending_proposals.rake index 42cde5424..365338d96 100644 --- a/lib/tasks/spending_proposals.rake +++ b/lib/tasks/spending_proposals.rake @@ -1,20 +1,21 @@ namespace :spending_proposals do desc "Sends an email to the authors of unfeasible spending proposals" task send_unfeasible_emails: :environment do - SpendingProposal.find_each do |spending_propsal| - if spending_propsal.unfeasible_email_pending? - spending_propsal.send_unfeasible_email - puts "email sent for proposal #{spending_propsal.title}" + SpendingProposal.find_each do |spending_proposal| + if spending_proposal.unfeasible_email_pending? + spending_proposal.send_unfeasible_email + puts "email sent for proposal #{spending_proposal.title}" else - puts "this proposal is feasible: #{spending_propsal.title}" + puts "this proposal is feasible: #{spending_proposal.title}" end end end - desc "Updates all spending proposals to recalculate their tsv column" + desc "Updates all spending proposals to recalculate their tsv and responsible_name columns" task touch: :environment do - SpendingProposal.find_in_batches do |spending_propsal| - spending_propsal.each(&:save) + SpendingProposal.find_in_batches do |spending_proposal| + spending_proposal.each(&:save) end end -end \ No newline at end of file + +end From 61b2c087b6cd558eeaa2bd916a48e5bd1f62474f Mon Sep 17 00:00:00 2001 From: kikito Date: Fri, 8 Apr 2016 17:45:20 +0200 Subject: [PATCH 5/5] changes the responsible_name from username to document_number --- app/models/spending_proposal.rb | 2 +- spec/models/spending_proposal_spec.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index f4657e9d4..c49b745e1 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -123,7 +123,7 @@ class SpendingProposal < ActiveRecord::Base end def set_responsible_name - self.responsible_name = author.try(:username) + self.responsible_name = author.try(:document_number) end end diff --git a/spec/models/spending_proposal_spec.rb b/spec/models/spending_proposal_spec.rb index d841abf06..3d32e383b 100644 --- a/spec/models/spending_proposal_spec.rb +++ b/spec/models/spending_proposal_spec.rb @@ -262,10 +262,10 @@ describe SpendingProposal do end describe "responsible_name" do - it "gets updated with the user name" do - u = create(:user, username: "manolo") + it "gets updated with the document_number" do + u = create(:user, document_number: "123456") sp = create(:spending_proposal, author: u) - expect(sp.responsible_name).to eq("manolo") + expect(sp.responsible_name).to eq("123456") end end