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/base_controller.rb b/app/controllers/base_controller.rb index b039a2447d..143370f3e9 100644 --- a/app/controllers/base_controller.rb +++ b/app/controllers/base_controller.rb @@ -1,17 +1,14 @@ -require 'spree/core/controller_helpers/auth' -require 'spree/core/controller_helpers/common' +# frozen_string_literal: true + 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 + layout 'darkswarm' + include Spree::Core::ControllerHelpers::Order - include Spree::Core::ControllerHelpers::RespondWith include I18nHelper - include EnterprisesHelper include OrderCyclesHelper helper 'spree/base' 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/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/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' 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/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 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 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 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