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