diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index cf114293..5e4ca356 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -9,13 +9,20 @@ class ApplicationController < ActionController::Base end def after_sign_in_path_for(resource) - if session[:return_to] && - !session[:return_to].start_with?(user_registration_path) - logger.debug "Returning to #{session[:return_to]}" - session[:return_to] + if organizer_or_admin? && + (!session[:return_to] || + session[:return_to] && + session[:return_to] == root_path) + admin_conference_index_path else - logger.debug "Not returning to #{session[:return_to]} because it would loop" - super + if session[:return_to] && + !session[:return_to].start_with?(user_registration_path) + logger.debug "Returning to #{session[:return_to]}" + session[:return_to] + else + logger.debug "Not returning to #{session[:return_to]} because it would loop" + super + end end end