lib/spree/auth/engine.rb in solidus_auth_devise-1.1.0 vs lib/spree/auth/engine.rb in solidus_auth_devise-1.2.0

- old
+ new

@@ -42,9 +42,29 @@ Dir.glob(File.join(File.dirname(__FILE__), "../../controllers/frontend/*/*_decorator*.rb")) do |c| Rails.configuration.cache_classes ? require(c) : load(c) end end ApplicationController.send :include, Spree::AuthenticationHelpers + + Spree::BaseController.unauthorized_redirect = -> do + if try_spree_current_user + flash[:error] = Spree.t(:authorization_failure) + redirect_to spree.unauthorized_path + else + store_location + redirect_to spree.login_path + end + end + + Spree::Admin::BaseController.unauthorized_redirect = -> do + if try_spree_current_user + flash[:error] = Spree.t(:authorization_failure) + redirect_to spree.admin_unauthorized_path + else + store_location + redirect_to spree.admin_login_path + end + end end def self.backend_available? @@backend_available ||= ::Rails::Engine.subclasses.map(&:instance).map{ |e| e.class.to_s }.include?('Spree::Backend::Engine') end