From c9b540677c46e08b020f7951a4aeade97ecf80b5 Mon Sep 17 00:00:00 2001 From: Andy Brett Date: Tue, 6 Oct 2020 17:30:09 -0700 Subject: [PATCH] refactor general settings controller to handle available_units params --- .../admin/general_settings_controller.rb | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/controllers/spree/admin/general_settings_controller.rb b/app/controllers/spree/admin/general_settings_controller.rb index 21067ab1df..6ca68a2a4a 100644 --- a/app/controllers/spree/admin/general_settings_controller.rb +++ b/app/controllers/spree/admin/general_settings_controller.rb @@ -10,13 +10,7 @@ module Spree end def update - available_units = [] - params.each do |name, value| - if value == "1" && unit = name.match(/available_units_(.*)/)&.captures&.first - available_units << unit - end - end - Spree::Config[:available_units] = available_units.join(",") + combine_available_units_params params.each do |name, value| next unless Spree::Config.has_preference? name @@ -26,6 +20,18 @@ module Spree redirect_to spree.edit_admin_general_settings_path end + + private + + def combine_available_units_params + available_units = [] + params.each do |name, value| + if value == "1" && unit = name.match(/available_units_(.*)/)&.captures&.first + available_units << unit + end + end + params[:available_units] = available_units.join(",") + end end end end