diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb new file mode 100644 index 000000000..cdcd05c9f --- /dev/null +++ b/app/controllers/sessions_controller.rb @@ -0,0 +1,13 @@ +class SessionsController < ApplicationController + def clear_filters + session[session_name_for(params[:filter_type])] = "{}" + + redirect_to send("#{params[:filter_type]}_path") + end + +private + + def session_name_for(filter_type) + "#{filter_type}_filters" + end +end diff --git a/app/helpers/filters_helper.rb b/app/helpers/filters_helper.rb index 92548f444..33c64fb45 100644 --- a/app/helpers/filters_helper.rb +++ b/app/helpers/filters_helper.rb @@ -49,16 +49,14 @@ module FiltersHelper def filters_applied_text(filter_type) applied_filters = JSON.parse(session[session_name_for(filter_type)]) applied_filters_count = filters_count(applied_filters) - applied_filters_count.zero? ? "No filters applied" : "#{pluralize(88, 'filter')} applied" + applied_filters_count.zero? ? "No filters applied" : "#{pluralize(applied_filters_count, 'filter')} applied" end def reset_filters_link(filter_type) applied_filters = JSON.parse(session[session_name_for(filter_type)]) applied_filters_count = filters_count(applied_filters) if applied_filters_count.positive? - #clear filters - - govuk_link_to "Clear", request.path + govuk_link_to "Clear", clear_filters_path(filter_type:) end end diff --git a/config/routes.rb b/config/routes.rb index 8b61f1ece..54adc0267 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -54,6 +54,8 @@ Rails.application.routes.draw do get "/download-22-23-sales-bulk-upload-template", to: "start#download_22_23_sales_bulk_upload_template" get "/download-22-23-sales-bulk-upload-specification", to: "start#download_22_23_sales_bulk_upload_specification" + get "clear_filters", to: "sessions#clear_filters" + resource :account, only: %i[show edit], controller: "users" do get "edit/password", to: "users#edit_password" end