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