Remove official level filter from advanced search
User testing has shown this filter isn't really useful and sometimes makes users wonder what it's about. This is particularly true in CONSUL installations which don't change the default values (most of them), since users will see a filter with options like "Official position 1".
This commit is contained in:
@@ -6,12 +6,12 @@
|
||||
@include breakpoint(large) {
|
||||
.filter {
|
||||
@include grid-column;
|
||||
width: 25%;
|
||||
width: 33%;
|
||||
}
|
||||
|
||||
.date-filters {
|
||||
float: left;
|
||||
width: 25%;
|
||||
width: 33%;
|
||||
|
||||
.filter {
|
||||
width: 100%;
|
||||
@@ -23,7 +23,7 @@
|
||||
}
|
||||
|
||||
.submit {
|
||||
width: 25%;
|
||||
width: 33%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -40,12 +40,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="filter">
|
||||
<label for="advanced_search_official_level"><%= t("shared.advanced_search.author_type") %></label>
|
||||
<%= select_tag("advanced_search[official_level]", official_level_search_options,
|
||||
include_blank: t("shared.advanced_search.author_type_blank")) %>
|
||||
</div>
|
||||
|
||||
<% if sdg? %>
|
||||
<div class="filter">
|
||||
<label for="advanced_search_goal"><%= t("shared.advanced_search.goal") %></label>
|
||||
|
||||
@@ -7,11 +7,6 @@ class Shared::AdvancedSearchComponent < ApplicationComponent
|
||||
params[:advanced_search] || {}
|
||||
end
|
||||
|
||||
def official_level_search_options
|
||||
options_for_select((1..5).map { |i| [setting["official_level_#{i}_name"], i] },
|
||||
advanced_search[:official_level])
|
||||
end
|
||||
|
||||
def date_range_options
|
||||
options_for_select([
|
||||
[t("shared.advanced_search.date_1"), 1],
|
||||
|
||||
@@ -20,7 +20,7 @@ module Filterable
|
||||
def allowed_filter?(filter, value)
|
||||
return if value.blank?
|
||||
|
||||
["official_level", "date_range", "goal", "target"].include?(filter)
|
||||
["date_range", "goal", "target"].include?(filter)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -673,8 +673,6 @@ en:
|
||||
"no": "No"
|
||||
search_results: "Search results"
|
||||
advanced_search:
|
||||
author_type: "By author category"
|
||||
author_type_blank: "Select a category"
|
||||
date: "By date"
|
||||
date_placeholder: "DD/MM/YYYY"
|
||||
date_range_blank: "Choose a date"
|
||||
|
||||
@@ -673,8 +673,6 @@ es:
|
||||
"no": "No"
|
||||
search_results: "Resultados de la búsqueda"
|
||||
advanced_search:
|
||||
author_type: "Por categoría de autor"
|
||||
author_type_blank: "Elige una categoría"
|
||||
date: "Por fecha"
|
||||
date_placeholder: "DD/MM/AAAA"
|
||||
date_range_blank: "Elige una fecha"
|
||||
|
||||
@@ -64,127 +64,6 @@ describe "Advanced search" do
|
||||
end
|
||||
end
|
||||
|
||||
context "Search by author type" do
|
||||
scenario "Public employee" do
|
||||
Setting["official_level_1_name"] = "Official position 1"
|
||||
ana = create :user, official_level: 1
|
||||
john = create :user, official_level: 2
|
||||
|
||||
debate1 = create(:debate, author: ana)
|
||||
debate2 = create(:debate, author: ana)
|
||||
debate3 = create(:debate, author: john)
|
||||
|
||||
visit debates_path
|
||||
|
||||
click_button "Advanced search"
|
||||
select "Official position 1", from: "advanced_search_official_level"
|
||||
click_button "Filter"
|
||||
|
||||
expect(page).to have_content("There are 2 debates")
|
||||
|
||||
within("#debates") do
|
||||
expect(page).to have_content(debate1.title)
|
||||
expect(page).to have_content(debate2.title)
|
||||
expect(page).not_to have_content(debate3.title)
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Municipal Organization" do
|
||||
Setting["official_level_2_name"] = "Official position 2"
|
||||
ana = create :user, official_level: 2
|
||||
john = create :user, official_level: 3
|
||||
|
||||
proposal1 = create(:proposal, author: ana)
|
||||
proposal2 = create(:proposal, author: ana)
|
||||
proposal3 = create(:proposal, author: john)
|
||||
|
||||
visit proposals_path
|
||||
|
||||
click_button "Advanced search"
|
||||
select "Official position 2", from: "advanced_search_official_level"
|
||||
click_button "Filter"
|
||||
|
||||
expect(page).to have_content("There are 2 citizen proposals")
|
||||
|
||||
within("#proposals") do
|
||||
expect(page).to have_content(proposal1.title)
|
||||
expect(page).to have_content(proposal2.title)
|
||||
expect(page).not_to have_content(proposal3.title)
|
||||
end
|
||||
end
|
||||
|
||||
scenario "General director" do
|
||||
Setting["official_level_3_name"] = "Official position 3"
|
||||
ana = create :user, official_level: 3
|
||||
john = create :user, official_level: 4
|
||||
|
||||
bdgt_invest1 = create(:budget_investment, heading: heading, author: ana)
|
||||
bdgt_invest2 = create(:budget_investment, heading: heading, author: ana)
|
||||
bdgt_invest3 = create(:budget_investment, heading: heading, author: john)
|
||||
|
||||
visit budget_investments_path(budget)
|
||||
|
||||
click_button "Advanced search"
|
||||
select "Official position 3", from: "advanced_search_official_level"
|
||||
click_button "Filter"
|
||||
|
||||
expect(page).to have_content("There are 2 investments")
|
||||
|
||||
within("#budget-investments") do
|
||||
expect(page).to have_content(bdgt_invest1.title)
|
||||
expect(page).to have_content(bdgt_invest2.title)
|
||||
expect(page).not_to have_content(bdgt_invest3.title)
|
||||
end
|
||||
end
|
||||
|
||||
scenario "City councillor" do
|
||||
Setting["official_level_4_name"] = "Official position 4"
|
||||
ana = create :user, official_level: 4
|
||||
john = create :user, official_level: 5
|
||||
|
||||
debate1 = create(:debate, author: ana)
|
||||
debate2 = create(:debate, author: ana)
|
||||
debate3 = create(:debate, author: john)
|
||||
|
||||
visit debates_path
|
||||
|
||||
click_button "Advanced search"
|
||||
select "Official position 4", from: "advanced_search_official_level"
|
||||
click_button "Filter"
|
||||
|
||||
expect(page).to have_content("There are 2 debates")
|
||||
|
||||
within("#debates") do
|
||||
expect(page).to have_content(debate1.title)
|
||||
expect(page).to have_content(debate2.title)
|
||||
expect(page).not_to have_content(debate3.title)
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Mayoress" do
|
||||
Setting["official_level_5_name"] = "Official position 5"
|
||||
ana = create :user, official_level: 5
|
||||
john = create :user, official_level: 4
|
||||
|
||||
proposal1 = create(:proposal, author: ana)
|
||||
proposal2 = create(:proposal, author: ana)
|
||||
proposal3 = create(:proposal, author: john)
|
||||
|
||||
visit proposals_path
|
||||
|
||||
click_button "Advanced search"
|
||||
select "Official position 5", from: "advanced_search_official_level"
|
||||
click_button "Filter"
|
||||
|
||||
expect(page).to have_content("There are 2 citizen proposals")
|
||||
|
||||
within("#proposals") do
|
||||
expect(page).to have_content(proposal1.title)
|
||||
expect(page).to have_content(proposal2.title)
|
||||
expect(page).not_to have_content(proposal3.title)
|
||||
end
|
||||
end
|
||||
|
||||
context "Search by date" do
|
||||
context "Predefined date ranges" do
|
||||
scenario "Last day" do
|
||||
@@ -315,19 +194,18 @@ describe "Advanced search" do
|
||||
end
|
||||
|
||||
scenario "Search by multiple filters" do
|
||||
Setting["official_level_1_name"] = "Official position 1"
|
||||
ana = create :user, official_level: 1
|
||||
john = create :user, official_level: 1
|
||||
Setting["feature.sdg"] = true
|
||||
Setting["sdg.process.budgets"] = true
|
||||
|
||||
create(:budget_investment, heading: heading, title: "Get Schwifty", author: ana, created_at: 1.minute.ago)
|
||||
create(:budget_investment, heading: heading, title: "Hello Schwifty", author: john, created_at: 2.days.ago)
|
||||
create(:budget_investment, heading: heading, title: "Get Schwifty", sdg_goals: [SDG::Goal[7]], created_at: 1.minute.ago)
|
||||
create(:budget_investment, heading: heading, title: "Hello Schwifty", sdg_goals: [SDG::Goal[7]], created_at: 2.days.ago)
|
||||
create(:budget_investment, heading: heading, title: "Save the forest")
|
||||
|
||||
visit budget_investments_path(budget)
|
||||
|
||||
click_button "Advanced search"
|
||||
fill_in "Write the text", with: "Schwifty"
|
||||
select "Official position 1", from: "advanced_search_official_level"
|
||||
select "7. Affordable and Clean Energy", from: "By SDG"
|
||||
select "Last 24 hours", from: "js-advanced-search-date-min"
|
||||
|
||||
click_button "Filter"
|
||||
@@ -340,20 +218,21 @@ describe "Advanced search" do
|
||||
end
|
||||
|
||||
scenario "Maintain advanced search criteria" do
|
||||
Setting["official_level_1_name"] = "Official position 1"
|
||||
Setting["feature.sdg"] = true
|
||||
Setting["sdg.process.debates"] = true
|
||||
|
||||
visit debates_path
|
||||
click_button "Advanced search"
|
||||
|
||||
fill_in "Write the text", with: "Schwifty"
|
||||
select "Official position 1", from: "advanced_search_official_level"
|
||||
select "7. Affordable and Clean Energy", from: "By SDG"
|
||||
select "Last 24 hours", from: "js-advanced-search-date-min"
|
||||
|
||||
click_button "Filter"
|
||||
|
||||
within ".advanced-search-form" do
|
||||
expect(page).to have_selector("input[name='search'][value='Schwifty']")
|
||||
expect(page).to have_select("advanced_search[official_level]", selected: "Official position 1")
|
||||
expect(page).to have_select("By SDG", selected: "7. Affordable and Clean Energy")
|
||||
expect(page).to have_select("advanced_search[date_min]", selected: "Last 24 hours")
|
||||
end
|
||||
end
|
||||
@@ -450,4 +329,3 @@ describe "Advanced search" do
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user