app/controllers/storytime/application_controller.rb in storytime-2.0.0 vs app/controllers/storytime/application_controller.rb in storytime-2.1.0
- old
+ new
@@ -1,23 +1,23 @@
-class Storytime::ApplicationController < ApplicationController
+class Storytime::ApplicationController < Storytime.application_controller_superclass
layout :set_layout
before_action :ensure_site_exists
around_action :scope_current_site
include Storytime::Concerns::ControllerContentFor
include Storytime::Concerns::CurrentSite
helper_method :current_storytime_site
-
+
include Pundit
rescue_from Pundit::NotAuthorizedError, with: :user_not_authorized
-
+
helper :all
helper_method :dashboard_controller
- if Storytime.user_class_symbol != :user
+ if Storytime.user_class_symbol != :user && !respond_to(:current_user)
helper_method :authenticate_user!
helper_method :current_user
helper_method :user_signed_in?
def authenticate_user!
@@ -33,23 +33,24 @@
end
end
def setup
url = if Storytime.user_class.count == 0
- main_app.new_user_registration_url
+ Storytime.registration_path
elsif current_user.nil?
- main_app.new_user_session_url
+ Storytime.login_path
elsif Storytime::Site.count == 0
new_dashboard_site_url
else
url_for([:dashboard, Storytime::Page])
end
redirect_to url
end
private
+
def ensure_site_exists
setup if Storytime::Site.count == 0
end
def set_layout
@@ -64,10 +65,10 @@
Storytime::Site.current_id = current_storytime_site(request).id
yield
ensure
Storytime::Site.current_id = nil
end
-
+
def user_not_authorized
flash[:error] = "You are not authorized to perform this action."
redirect_to(request.referrer || "/")
end
end