From cbad81679597f5bdbb0f8e870c4722334c1d4ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Tue, 16 Feb 2016 13:24:32 +0100 Subject: [PATCH 1/4] adds reporting info to spending proposals --- ...216121051_add_reporting_fields_to_spending_proposal.rb | 8 ++++++++ db/schema.rb | 6 +++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20160216121051_add_reporting_fields_to_spending_proposal.rb diff --git a/db/migrate/20160216121051_add_reporting_fields_to_spending_proposal.rb b/db/migrate/20160216121051_add_reporting_fields_to_spending_proposal.rb new file mode 100644 index 000000000..c7eb51496 --- /dev/null +++ b/db/migrate/20160216121051_add_reporting_fields_to_spending_proposal.rb @@ -0,0 +1,8 @@ +class AddReportingFieldsToSpendingProposal < ActiveRecord::Migration + def change + add_column :spending_proposals, :price, :float + add_column :spending_proposals, :legal, :boolean, default: nil + add_column :spending_proposals, :feasible, :boolean, default: nil + add_column :spending_proposals, :explanation, :text + end +end \ No newline at end of file diff --git a/db/schema.rb b/db/schema.rb index 6e9d25833..a0d23496c 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: 20160207205252) do +ActiveRecord::Schema.define(version: 20160216121051) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -299,6 +299,10 @@ ActiveRecord::Schema.define(version: 20160207205252) do t.datetime "updated_at", null: false t.integer "geozone_id" t.string "resolution" + t.float "price" + t.boolean "legal" + t.boolean "feasible" + t.text "explanation" end add_index "spending_proposals", ["author_id"], name: "index_spending_proposals_on_author_id", using: :btree From 7408b7d5af453af8eb522b6683c40e5f6e0c66d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Tue, 16 Feb 2016 14:25:20 +0100 Subject: [PATCH 2/4] adds dossier info humanize methods --- app/models/spending_proposal.rb | 22 ++++++++++++++++ spec/models/spending_proposal_spec.rb | 36 +++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index 157b5f586..453eeaa2f 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -41,4 +41,26 @@ class SpendingProposal < ActiveRecord::Base def unresolved? resolution.blank? end + + def legality + case legal + when true + "legal" + when false + "no_legal" + else + "undefined" + end + end + + def feasibility + case feasible + when true + "feasible" + when false + "no_feasible" + else + "undefined" + end + end end diff --git a/spec/models/spending_proposal_spec.rb b/spec/models/spending_proposal_spec.rb index 25bccbfc6..03055e427 100644 --- a/spec/models/spending_proposal_spec.rb +++ b/spec/models/spending_proposal_spec.rb @@ -42,6 +42,42 @@ describe SpendingProposal do end end + describe "dossier info" do + describe "#legality" do + it "can be legal" do + spending_proposal.legal = true + expect(spending_proposal.legality).to eq "legal" + end + + it "can be no-legal" do + spending_proposal.legal = false + expect(spending_proposal.legality).to eq "no_legal" + end + + it "can be undefined" do + spending_proposal.legal = nil + expect(spending_proposal.legality).to eq "undefined" + end + end + + describe "#feasibility" do + it "can be feasible" do + spending_proposal.feasible = true + expect(spending_proposal.feasibility).to eq "feasible" + end + + it "can be no-feasible" do + spending_proposal.feasible = false + expect(spending_proposal.feasibility).to eq "no_feasible" + end + + it "can be undefined" do + spending_proposal.feasible = nil + expect(spending_proposal.feasibility).to eq "undefined" + end + end + end + describe "resolution status" do it "should be valid" do spending_proposal.resolution = "accepted" From 0ad56c4f51d9a27b419e1c71e27bcd1e747a8577 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Tue, 16 Feb 2016 14:26:30 +0100 Subject: [PATCH 3/4] adds dossier info to admin' spending proposal show --- app/views/admin/spending_proposals/show.html.erb | 9 +++++++++ config/locales/admin.en.yml | 9 +++++++++ config/locales/admin.es.yml | 11 ++++++++++- spec/features/admin/spending_proposals_spec.rb | 11 ++++++++++- 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/app/views/admin/spending_proposals/show.html.erb b/app/views/admin/spending_proposals/show.html.erb index 121f28940..2f4697a9c 100644 --- a/app/views/admin/spending_proposals/show.html.erb +++ b/app/views/admin/spending_proposals/show.html.erb @@ -26,3 +26,12 @@ class: "button radius tiny warning" %> <% end %>

+ + +

<%= t("admin.spending_proposals.show.dossier") %>:

+ +

<%= t("admin.spending_proposals.show.price") %>: <%= @spending_proposal.price %>

+

<%= t("admin.spending_proposals.show.legality") %>: <%= t("admin.spending_proposals.show.#{@spending_proposal.legality}") %>

+

<%= t("admin.spending_proposals.show.feasibility") %>: <%= t("admin.spending_proposals.show.#{@spending_proposal.feasibility}") %>

+ +<%= safe_html_with_links(@spending_proposal.explanation.html_safe) if @spending_proposal.explanation %> diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml index 296ad7167..56275c2c0 100755 --- a/config/locales/admin.en.yml +++ b/config/locales/admin.en.yml @@ -150,6 +150,15 @@ en: show: by: Sent by geozone: Scope + dossier: Dossier + price: Price + legality: Legality + legal: Legal + no_legal: No legal + feasibility: Feasibility + feasible: Feasible + no_feasible: No feasible + undefined: Undefined stats: show: stats_title: Stats diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml index 55df87412..cdb703e9f 100644 --- a/config/locales/admin.es.yml +++ b/config/locales/admin.es.yml @@ -149,7 +149,16 @@ es: title: Propuestas de gasto para presupuestos participativos show: by: Enviada por - geozone: "Ámbito" + geozone: Ámbito + dossier: Informe + price: Coste + legality: Legalidad + legal: Legal + no_legal: No legal + feasibility: Viabilidad + feasible: Viable + no_feasible: No viable + undefined: Sin definir stats: show: stats_title: Estadísticas diff --git a/spec/features/admin/spending_proposals_spec.rb b/spec/features/admin/spending_proposals_spec.rb index 7d608d0a5..311c7ded5 100644 --- a/spec/features/admin/spending_proposals_spec.rb +++ b/spec/features/admin/spending_proposals_spec.rb @@ -103,7 +103,12 @@ feature 'Admin spending proposals' do end scenario 'Show' do - spending_proposal = create(:spending_proposal, geozone: create(:geozone)) + spending_proposal = create(:spending_proposal, + geozone: create(:geozone), + price: 1234.56, + legal: true, + feasible: false, + explanation: "It's impossible") visit admin_spending_proposals_path click_link spending_proposal.title @@ -112,6 +117,10 @@ feature 'Admin spending proposals' do expect(page).to have_content(spending_proposal.description) expect(page).to have_content(spending_proposal.author.name) expect(page).to have_content(spending_proposal.geozone.name) + expect(page).to have_content("1234.56") + expect(page).to have_content("Legal") + expect(page).to have_content("No feasible") + expect(page).to have_content("It's impossible") end scenario 'Accept from show' do From d48f9168c7cd02b60869ad9c0d71b0989c13c546 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baza=CC=81n?= Date: Tue, 16 Feb 2016 16:59:06 +0100 Subject: [PATCH 4/4] notting hill --- app/models/spending_proposal.rb | 4 ++-- config/locales/admin.en.yml | 4 ++-- config/locales/admin.es.yml | 4 ++-- spec/features/admin/spending_proposals_spec.rb | 2 +- spec/models/spending_proposal_spec.rb | 8 ++++---- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index 453eeaa2f..4d097ad97 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -47,7 +47,7 @@ class SpendingProposal < ActiveRecord::Base when true "legal" when false - "no_legal" + "not_legal" else "undefined" end @@ -58,7 +58,7 @@ class SpendingProposal < ActiveRecord::Base when true "feasible" when false - "no_feasible" + "not_feasible" else "undefined" end diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml index 56275c2c0..be52a41a8 100755 --- a/config/locales/admin.en.yml +++ b/config/locales/admin.en.yml @@ -154,10 +154,10 @@ en: price: Price legality: Legality legal: Legal - no_legal: No legal + not_legal: Not legal feasibility: Feasibility feasible: Feasible - no_feasible: No feasible + not_feasible: Not feasible undefined: Undefined stats: show: diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml index cdb703e9f..f2bd9f6a2 100644 --- a/config/locales/admin.es.yml +++ b/config/locales/admin.es.yml @@ -154,10 +154,10 @@ es: price: Coste legality: Legalidad legal: Legal - no_legal: No legal + not_legal: No legal feasibility: Viabilidad feasible: Viable - no_feasible: No viable + not_feasible: No viable undefined: Sin definir stats: show: diff --git a/spec/features/admin/spending_proposals_spec.rb b/spec/features/admin/spending_proposals_spec.rb index 311c7ded5..9d8a33447 100644 --- a/spec/features/admin/spending_proposals_spec.rb +++ b/spec/features/admin/spending_proposals_spec.rb @@ -119,7 +119,7 @@ feature 'Admin spending proposals' do expect(page).to have_content(spending_proposal.geozone.name) expect(page).to have_content("1234.56") expect(page).to have_content("Legal") - expect(page).to have_content("No feasible") + expect(page).to have_content("Not feasible") expect(page).to have_content("It's impossible") end diff --git a/spec/models/spending_proposal_spec.rb b/spec/models/spending_proposal_spec.rb index 03055e427..3d12b9489 100644 --- a/spec/models/spending_proposal_spec.rb +++ b/spec/models/spending_proposal_spec.rb @@ -49,9 +49,9 @@ describe SpendingProposal do expect(spending_proposal.legality).to eq "legal" end - it "can be no-legal" do + it "can be not-legal" do spending_proposal.legal = false - expect(spending_proposal.legality).to eq "no_legal" + expect(spending_proposal.legality).to eq "not_legal" end it "can be undefined" do @@ -66,9 +66,9 @@ describe SpendingProposal do expect(spending_proposal.feasibility).to eq "feasible" end - it "can be no-feasible" do + it "can be not-feasible" do spending_proposal.feasible = false - expect(spending_proposal.feasibility).to eq "no_feasible" + expect(spending_proposal.feasibility).to eq "not_feasible" end it "can be undefined" do