adds heading filter to index
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
module BudgetGroupsHelper
|
||||
|
||||
def budget_group_select_options(groups)
|
||||
groups.map {|group| [group.name, group.id]}
|
||||
end
|
||||
|
||||
end
|
||||
7
app/helpers/budget_headings_helper.rb
Normal file
7
app/helpers/budget_headings_helper.rb
Normal file
@@ -0,0 +1,7 @@
|
||||
module BudgetHeadingsHelper
|
||||
|
||||
def budget_heading_select_options(budget)
|
||||
budget.headings.map {|heading| [heading.name, heading.id]}
|
||||
end
|
||||
|
||||
end
|
||||
@@ -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)
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
</div>
|
||||
|
||||
<div class="small-12 medium-3 column">
|
||||
<%= 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" } %>
|
||||
</div>
|
||||
@@ -47,7 +47,7 @@
|
||||
<strong><%= investment.id %></strong>
|
||||
</td>
|
||||
<td>
|
||||
<%= 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)) %>
|
||||
</td>
|
||||
<td class="small">
|
||||
<% if investment.administrator.present? %>
|
||||
@@ -64,7 +64,7 @@
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="small">
|
||||
<%= investment.group.name %>
|
||||
<%= investment.heading.name %>
|
||||
</td>
|
||||
<td class="small">
|
||||
<%= t("admin.budget_investments.index.feasibility.#{investment.feasibility}", price: investment.price) %>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user