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")