diff --git a/app/helpers/budget_groups_helper.rb b/app/helpers/budget_groups_helper.rb
deleted file mode 100644
index d36a992d9..000000000
--- a/app/helpers/budget_groups_helper.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-module BudgetGroupsHelper
-
- def budget_group_select_options(groups)
- groups.map {|group| [group.name, group.id]}
- end
-
-end
\ No newline at end of file
diff --git a/app/helpers/budget_headings_helper.rb b/app/helpers/budget_headings_helper.rb
new file mode 100644
index 000000000..cb042f796
--- /dev/null
+++ b/app/helpers/budget_headings_helper.rb
@@ -0,0 +1,7 @@
+module BudgetHeadingsHelper
+
+ def budget_heading_select_options(budget)
+ budget.headings.map {|heading| [heading.name, heading.id]}
+ end
+
+end
\ No newline at end of file
diff --git a/app/models/budget/investment.rb b/app/models/budget/investment.rb
index f76d1f68e..56ae67d41 100644
--- a/app/models/budget/investment.rb
+++ b/app/models/budget/investment.rb
@@ -56,7 +56,7 @@ class Budget
before_validation :set_responsible_name
def self.filter_params(params)
- params.select{|x,_| %w{heading_id administrator_id tag_name valuator_id}.include? x.to_s }
+ params.select{|x,_| %w{heading_id group_id administrator_id tag_name valuator_id}.include? x.to_s }
end
def self.scoped_filter(params, current_filter)
diff --git a/app/views/admin/budget_investments/index.html.erb b/app/views/admin/budget_investments/index.html.erb
index 31ad2298a..5aff40115 100644
--- a/app/views/admin/budget_investments/index.html.erb
+++ b/app/views/admin/budget_investments/index.html.erb
@@ -19,9 +19,9 @@
- <%= select_tag :group_id,
- options_for_select(budget_group_select_options(@budget.groups), params[:group_id]),
- { prompt: t("admin.budget_investments.index.group_filter_all"),
+ <%= select_tag :heading_id,
+ options_for_select(budget_heading_select_options(@budget), params[:heading_id]),
+ { prompt: t("admin.budget_investments.index.heading_filter_all"),
label: false,
class: "js-submit-on-change" } %>
@@ -47,7 +47,7 @@
<%= investment.id %>
- <%= link_to investment.title, admin_budget_budget_investment_path(budget_id: @budget.id, id: investment.id), Budget::Investment.filter_params(params) %>
+ <%= link_to investment.title, admin_budget_budget_investment_path(budget_id: @budget.id, id: investment.id, params: Budget::Investment.filter_params(params)) %>
|
<% if investment.administrator.present? %>
@@ -64,7 +64,7 @@
<% end %>
|
- <%= investment.group.name %>
+ <%= investment.heading.name %>
|
<%= t("admin.budget_investments.index.feasibility.#{investment.feasibility}", price: investment.price) %>
diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml
index 61845a164..4a9abf7d3 100755
--- a/config/locales/admin.en.yml
+++ b/config/locales/admin.en.yml
@@ -95,7 +95,7 @@ en:
table_geozone: Scope of operation
budget_investments:
index:
- group_filter_all: All voting groups
+ heading_filter_all: All headings
administrator_filter_all: All administrators
valuator_filter_all: All valuators
tags_filter_all: All tags
diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml
index 7d2417480..3600c2448 100644
--- a/config/locales/admin.es.yml
+++ b/config/locales/admin.es.yml
@@ -95,7 +95,7 @@ es:
table_geozone: Ámbito de actuación
budget_investments:
index:
- group_filter_all: Todos los grupos
+ heading_filter_all: Todas las partidas
administrator_filter_all: Todos los administradores
valuator_filter_all: Todos los evaluadores
tags_filter_all: Todas las etiquetas
diff --git a/spec/features/admin/budget_investments_spec.rb b/spec/features/admin/budget_investments_spec.rb
index 3c5e611c5..ad08ee634 100644
--- a/spec/features/admin/budget_investments_spec.rb
+++ b/spec/features/admin/budget_investments_spec.rb
@@ -49,45 +49,61 @@ feature 'Admin budget investments' do
end
end
- scenario "Filtering by budget group", :js do
- group1 = create(:budget_group, name: "Street improvments", budget: @budget)
+ scenario "Filtering by budget heading", :js do
+ group1 = create(:budget_group, name: "Streets", budget: @budget)
group2 = create(:budget_group, name: "Parks", budget: @budget)
- create(:budget_investment, title: "Realocate visitors", budget: @budget, group: group1)
- create(:budget_investment, title: "Destroy the city", budget: @budget, group: group2)
+ group1_heading1 = create(:budget_heading, group: group1, name: "Main Avenue")
+ group1_heading2 = create(:budget_heading, group: group1, name: "Mercy Street")
+ group2_heading1 = create(:budget_heading, group: group2, name: "Central Park")
+
+ create(:budget_investment, title: "Realocate visitors", budget: @budget, group: group1, heading: group1_heading1)
+ create(:budget_investment, title: "Change name", budget: @budget, group: group1, heading: group1_heading2)
+ create(:budget_investment, title: "Plant trees", budget: @budget, group: group2, heading: group2_heading1)
visit admin_budget_budget_investments_path(budget_id: @budget.id)
expect(page).to have_link("Realocate visitors")
- expect(page).to have_link("Destroy the city")
+ expect(page).to have_link("Change name")
+ expect(page).to have_link("Plant trees")
- select "Parks", from: "group_id"
+ select "Central Park", from: "heading_id"
- expect(page).to have_link("Destroy the city")
expect(page).to_not have_link("Realocate visitors")
+ expect(page).to_not have_link("Change name")
+ expect(page).to have_link("Plant trees")
- select "All voting groups", from: "group_id"
+ select "All headings", from: "heading_id"
expect(page).to have_link("Realocate visitors")
- expect(page).to have_link("Destroy the city")
+ expect(page).to have_link("Change name")
+ expect(page).to have_link("Plant trees")
- select "Street improvments", from: "group_id"
+ select "Main Avenue", from: "heading_id"
- expect(page).to_not have_link("Destroy the city")
expect(page).to have_link("Realocate visitors")
+ expect(page).to_not have_link("Change name")
+ expect(page).to_not have_link("Plant trees")
- # click_link("Realocate visitors")
- # click_link("Back")
+ select "Mercy Street", from: "heading_id"
- # expect(page).to_not have_link("Destroy the city")
- # expect(page).to have_link("Realocate visitors")
+ expect(page).to_not have_link("Realocate visitors")
+ expect(page).to have_link("Change name")
+ expect(page).to_not have_link("Plant trees")
+
+ click_link("Change name")
+ click_link("Go back")
+
+ expect(page).to_not have_link("Realocate visitors")
+ expect(page).to have_link("Change name")
+ expect(page).to_not have_link("Plant trees")
# click_link("Realocate visitors")
# click_link("Edit classification")
# expect(page).to have_button("Update")
- # click_link("Back")
+ # click_link("Go back")
# expect(page).to_not have_button("Update")
- # click_link("Back")
+ # click_link("Go back")
# expect(page).to_not have_link("Destroy the city")
# expect(page).to have_link("Realocate visitors")
@@ -119,19 +135,19 @@ feature 'Admin budget investments' do
select "Admin 1", from: "administrator_id"
expect(page).to have_content('There is 1 investment')
- # click_link("Realocate visitors")
- # click_link("Back")
+ click_link("Realocate visitors")
+ click_link("Go back")
- # expect(page).to have_content('There is 1 investment')
- # expect(page).to_not have_link("Destroy the city")
- # expect(page).to have_link("Realocate visitors")
+ expect(page).to have_content('There is 1 investment')
+ expect(page).to_not have_link("Destroy the city")
+ expect(page).to have_link("Realocate visitors")
# click_link("Realocate visitors")
# click_link("Edit classification")
# expect(page).to have_button("Update")
- # click_link("Back")
+ # click_link("Go back")
# expect(page).to_not have_button("Update")
- # click_link("Back")
+ # click_link("Go back")
# expect(page).to have_content('There is 1 investment')
# expect(page).to_not have_link("Destroy the city")
@@ -165,19 +181,19 @@ feature 'Admin budget investments' do
select "Valuator 1", from: "valuator_id"
expect(page).to have_content('There is 1 investment')
- # click_link("Realocate visitors")
- # click_link("Back")
+ click_link("Realocate visitors")
+ click_link("Go back")
- # expect(page).to have_content('There is 1 investment')
- # expect(page).to_not have_link("Destroy the city")
- # expect(page).to have_link("Realocate visitors")
+ expect(page).to have_content('There is 1 investment')
+ expect(page).to_not have_link("Destroy the city")
+ expect(page).to have_link("Realocate visitors")
# click_link("Realocate visitors")
# click_link("Edit classification")
# expect(page).to have_button("Update")
- # click_link("Back")
+ # click_link("Go back")
# expect(page).to_not have_button("Update")
- # click_link("Back")
+ # click_link("Go back")
# expect(page).to have_content('There is 1 investment')
# expect(page).to_not have_link("Destroy the city")
@@ -274,19 +290,19 @@ feature 'Admin budget investments' do
expect(page).to have_content("Educate the children")
expect(page).to have_content("More schools")
- # click_link("Educate the children")
- # click_link("Back")
+ click_link("Educate the children")
+ click_link("Go back")
- # expect(page).to_not have_content("More hospitals")
- # expect(page).to have_content("Educate the children")
- # expect(page).to have_content("More schools")
+ expect(page).to_not have_content("More hospitals")
+ expect(page).to have_content("Educate the children")
+ expect(page).to have_content("More schools")
# click_link("Educate the children")
# click_link("Edit classification")
# expect(page).to have_button("Update")
- # click_link("Back")
+ # click_link("Go back")
# expect(page).to_not have_button("Update")
- # click_link("Back")
+ # click_link("Go back")
# expect(page).to_not have_content("More hospitals")
# expect(page).to have_content("Educate the children")
|