From 0eab1b2339350115d0d303868c6763d2ede09169 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Sat, 31 Oct 2020 11:06:06 +0000 Subject: [PATCH 1/6] Merge Spree::BaseController with ApplicationController --- app/controllers/application_controller.rb | 18 ++++++++++++++++-- app/controllers/spree/base_controller.rb | 20 -------------------- 2 files changed, 16 insertions(+), 22 deletions(-) delete mode 100644 app/controllers/spree/base_controller.rb diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index c4ab6b9bed..f39af8eff0 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,8 +1,13 @@ # frozen_string_literal: true -require "application_responder" -require 'open_food_network/referer_parser' require_dependency 'spree/authentication_helpers' +require "application_responder" +require 'cancan' +require 'spree/core/controller_helpers/auth' +require 'spree/core/controller_helpers/respond_with' +require 'spree/core/controller_helpers/ssl' +require 'spree/core/controller_helpers/common' +require 'open_food_network/referer_parser' class ApplicationController < ActionController::Base self.responder = ApplicationResponder @@ -10,6 +15,11 @@ class ApplicationController < ActionController::Base protect_from_forgery + include Spree::Core::ControllerHelpers::Auth + include Spree::Core::ControllerHelpers::RespondWith + include Spree::Core::ControllerHelpers::SSL + include Spree::Core::ControllerHelpers::Common + prepend_before_action :restrict_iframes before_action :set_cache_headers # prevent cart emptying via cache when using back button #1213 @@ -22,6 +32,8 @@ class ApplicationController < ActionController::Base raise ActiveModel::ForbiddenAttributesError, params.to_s end + respond_to :html + def redirect_to(options = {}, response_status = {}) ::Rails.logger.error("Redirected by #{begin caller(1).first @@ -150,3 +162,5 @@ class ApplicationController < ActionController::Base response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT" end end + +require 'spree/i18n/initializer' diff --git a/app/controllers/spree/base_controller.rb b/app/controllers/spree/base_controller.rb deleted file mode 100644 index b2e4628bc3..0000000000 --- a/app/controllers/spree/base_controller.rb +++ /dev/null @@ -1,20 +0,0 @@ -# frozen_string_literal: true - -require 'cancan' -require 'spree/core/controller_helpers/auth' -require 'spree/core/controller_helpers/respond_with' -require 'spree/core/controller_helpers/ssl' -require 'spree/core/controller_helpers/common' - -module Spree - class BaseController < ApplicationController - include Spree::Core::ControllerHelpers::Auth - include Spree::Core::ControllerHelpers::RespondWith - include Spree::Core::ControllerHelpers::SSL - include Spree::Core::ControllerHelpers::Common - - respond_to :html - end -end - -require 'spree/i18n/initializer' From ff8a81cee722919df954921390443704ebdd4e20 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Sat, 31 Oct 2020 11:08:51 +0000 Subject: [PATCH 2/6] Remove includes already present in parent ApplicationController --- app/controllers/base_controller.rb | 7 ------- 1 file changed, 7 deletions(-) diff --git a/app/controllers/base_controller.rb b/app/controllers/base_controller.rb index b039a2447d..de4540f257 100644 --- a/app/controllers/base_controller.rb +++ b/app/controllers/base_controller.rb @@ -1,17 +1,10 @@ -require 'spree/core/controller_helpers/auth' -require 'spree/core/controller_helpers/common' require 'spree/core/controller_helpers/order' -require 'spree/core/controller_helpers/respond_with' require 'open_food_network/tag_rule_applicator' class BaseController < ApplicationController - include Spree::Core::ControllerHelpers::Auth - include Spree::Core::ControllerHelpers::Common include Spree::Core::ControllerHelpers::Order - include Spree::Core::ControllerHelpers::RespondWith include I18nHelper - include EnterprisesHelper include OrderCyclesHelper helper 'spree/base' From 23e6048bde176eaae31f3426c27b6c1195905910 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Sat, 31 Oct 2020 11:17:38 +0000 Subject: [PATCH 3/6] Merge StoreController with BaseController --- app/controllers/base_controller.rb | 4 ++++ app/controllers/spree/store_controller.rb | 14 -------------- 2 files changed, 4 insertions(+), 14 deletions(-) delete mode 100644 app/controllers/spree/store_controller.rb diff --git a/app/controllers/base_controller.rb b/app/controllers/base_controller.rb index de4540f257..143370f3e9 100644 --- a/app/controllers/base_controller.rb +++ b/app/controllers/base_controller.rb @@ -1,7 +1,11 @@ +# frozen_string_literal: true + require 'spree/core/controller_helpers/order' require 'open_food_network/tag_rule_applicator' class BaseController < ApplicationController + layout 'darkswarm' + include Spree::Core::ControllerHelpers::Order include I18nHelper diff --git a/app/controllers/spree/store_controller.rb b/app/controllers/spree/store_controller.rb deleted file mode 100644 index 277cf55a63..0000000000 --- a/app/controllers/spree/store_controller.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -require 'spree/core/controller_helpers/order' - -module Spree - class StoreController < Spree::BaseController - layout 'darkswarm' - - include Spree::Core::ControllerHelpers::Order - - include I18nHelper - before_action :set_locale - end -end From 7a22367b4a0f4b39429a54ae3f4f61e1bcce2faa Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Sat, 31 Oct 2020 11:19:03 +0000 Subject: [PATCH 4/6] Make controllers use ::Basecontroller instead of StoreController --- app/controllers/checkout_controller.rb | 2 +- app/controllers/spree/checkout_controller.rb | 2 +- app/controllers/spree/orders_controller.rb | 2 +- app/controllers/spree/users_controller.rb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/controllers/checkout_controller.rb b/app/controllers/checkout_controller.rb index 4cedfbbac9..ca7df8be49 100644 --- a/app/controllers/checkout_controller.rb +++ b/app/controllers/checkout_controller.rb @@ -2,7 +2,7 @@ require 'open_food_network/address_finder' -class CheckoutController < Spree::StoreController +class CheckoutController < ::BaseController layout 'darkswarm' include OrderStockCheck diff --git a/app/controllers/spree/checkout_controller.rb b/app/controllers/spree/checkout_controller.rb index 71a45de4e6..e639505e29 100644 --- a/app/controllers/spree/checkout_controller.rb +++ b/app/controllers/spree/checkout_controller.rb @@ -7,7 +7,7 @@ # to CheckoutController directly in the routes # with a slash like "to: '/checkout#edit'", but it does not work in this case. module Spree - class CheckoutController < Spree::StoreController + class CheckoutController < ::BaseController def edit flash.keep redirect_to main_app.checkout_path diff --git a/app/controllers/spree/orders_controller.rb b/app/controllers/spree/orders_controller.rb index 616300c2b1..48e65ddbb1 100644 --- a/app/controllers/spree/orders_controller.rb +++ b/app/controllers/spree/orders_controller.rb @@ -1,5 +1,5 @@ module Spree - class OrdersController < Spree::StoreController + class OrdersController < ::BaseController include OrderCyclesHelper include Rails.application.routes.url_helpers diff --git a/app/controllers/spree/users_controller.rb b/app/controllers/spree/users_controller.rb index c6ce064b57..1fb03af1f9 100644 --- a/app/controllers/spree/users_controller.rb +++ b/app/controllers/spree/users_controller.rb @@ -1,5 +1,5 @@ module Spree - class UsersController < Spree::StoreController + class UsersController < ::BaseController layout 'darkswarm' ssl_required skip_before_action :set_current_order, only: :show From 4060e7debf71fce58efb2a26f29c045ffe90f565 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Sun, 1 Nov 2020 11:11:28 +0000 Subject: [PATCH 5/6] Replace usages of Spree::BaseController with ApplicationController --- app/controllers/spree/admin/base_controller.rb | 2 +- lib/spree/core/controller_helpers/respond_with.rb | 2 +- lib/spree/i18n/initializer.rb | 2 +- lib/spree/responder.rb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/controllers/spree/admin/base_controller.rb b/app/controllers/spree/admin/base_controller.rb index 4f9cdbb4d0..8d002b583c 100644 --- a/app/controllers/spree/admin/base_controller.rb +++ b/app/controllers/spree/admin/base_controller.rb @@ -1,6 +1,6 @@ module Spree module Admin - class BaseController < Spree::BaseController + class BaseController < ApplicationController ssl_required helper 'spree/admin/navigation' diff --git a/lib/spree/core/controller_helpers/respond_with.rb b/lib/spree/core/controller_helpers/respond_with.rb index 5fcd4bc2cb..c35a071f25 100644 --- a/lib/spree/core/controller_helpers/respond_with.rb +++ b/lib/spree/core/controller_helpers/respond_with.rb @@ -16,7 +16,7 @@ module ActionController # Fix spree issues #3531 and #2210 (patch provided by leiyangyou) if (defined_response = collector.response) && - !Spree::BaseController.spree_responders[self.class.to_s.to_sym].try(:[], + !ApplicationController.spree_responders[self.class.to_s.to_sym].try(:[], action_name.to_sym) if action = options.delete(:action) render action: action diff --git a/lib/spree/i18n/initializer.rb b/lib/spree/i18n/initializer.rb index 64b649f708..9be3e4df0d 100644 --- a/lib/spree/i18n/initializer.rb +++ b/lib/spree/i18n/initializer.rb @@ -1,3 +1,3 @@ # frozen_string_literal: true -Spree::BaseController.include(Spree::ViewContext) +ApplicationController.include(Spree::ViewContext) diff --git a/lib/spree/responder.rb b/lib/spree/responder.rb index 3c0e60aa5b..2714599530 100644 --- a/lib/spree/responder.rb +++ b/lib/spree/responder.rb @@ -10,7 +10,7 @@ module Spree class_name = controller.class.name.to_sym action_name = options.delete(:action_name) - result = Spree::BaseController.spree_responders[class_name]. + result = ApplicationController.spree_responders[class_name]. try(:[], action_name). try(:[], self.format.to_sym) return unless result From fc40775ca84b50651dcbe56f5a71bb81f6a32c4f Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Mon, 18 Jan 2021 23:33:05 +0000 Subject: [PATCH 6/6] Make paypal controller inherit from base controller and not from old store controller --- app/controllers/spree/paypal_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/spree/paypal_controller.rb b/app/controllers/spree/paypal_controller.rb index ca44867165..81f7433c22 100644 --- a/app/controllers/spree/paypal_controller.rb +++ b/app/controllers/spree/paypal_controller.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module Spree - class PaypalController < StoreController + class PaypalController < ::BaseController ssl_allowed include OrderStockCheck