Merge pull request #4668 from consul/official_level_search
Remove official level filter from advanced search
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%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
<label for="search">
|
||||
<%= t("shared.advanced_search.general") %>
|
||||
</label>
|
||||
<%= text_field_tag "search", params[:search],
|
||||
placeholder: t("shared.advanced_search.general_placeholder") %>
|
||||
<%= text_field_tag "search", params[:search] %>
|
||||
</div>
|
||||
|
||||
<div class="date-filters">
|
||||
@@ -40,12 +39,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"
|
||||
@@ -685,7 +683,6 @@ en:
|
||||
date_5: "Customized"
|
||||
from: "From"
|
||||
general: "With the text"
|
||||
general_placeholder: "Write the text"
|
||||
goal: "By SDG"
|
||||
goal_blank: "Select a goal"
|
||||
search: "Filter"
|
||||
|
||||
@@ -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"
|
||||
@@ -685,7 +683,6 @@ es:
|
||||
date_5: "Personalizada"
|
||||
from: "Desde"
|
||||
general: "Con el texto"
|
||||
general_placeholder: "Escribe el texto"
|
||||
goal: "Por ODS"
|
||||
goal_blank: "Elige un objetivo"
|
||||
search: "Filtrar"
|
||||
|
||||
@@ -12,7 +12,7 @@ describe "Advanced search" do
|
||||
visit debates_path
|
||||
|
||||
click_button "Advanced search"
|
||||
fill_in "Write the text", with: "Schwifty"
|
||||
fill_in "With the text", with: "Schwifty"
|
||||
click_button "Filter"
|
||||
|
||||
expect(page).to have_content("There are 2 debates")
|
||||
@@ -32,7 +32,7 @@ describe "Advanced search" do
|
||||
visit proposals_path
|
||||
|
||||
click_button "Advanced search"
|
||||
fill_in "Write the text", with: "Schwifty"
|
||||
fill_in "With the text", with: "Schwifty"
|
||||
click_button "Filter"
|
||||
|
||||
expect(page).to have_content("There are 2 citizen proposals")
|
||||
@@ -52,7 +52,7 @@ describe "Advanced search" do
|
||||
visit budget_investments_path(budget)
|
||||
|
||||
click_button "Advanced search"
|
||||
fill_in "Write the text", with: "Schwifty"
|
||||
fill_in "With the text", with: "Schwifty"
|
||||
click_button "Filter"
|
||||
|
||||
expect(page).to have_content("There are 2 investments")
|
||||
@@ -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"
|
||||
fill_in "With the text", with: "Schwifty"
|
||||
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"
|
||||
fill_in "With the text", with: "Schwifty"
|
||||
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