diff --git a/app/controllers/public/account_controller.rb b/app/controllers/public/account_controller.rb index 3fc00b0..4a64230 100644 --- a/app/controllers/public/account_controller.rb +++ b/app/controllers/public/account_controller.rb @@ -378,39 +378,12 @@ class AccountController < ApplicationController end if params[:return_to] - #I never get here redirect_to params[:return_to] elsif environment.enabled?('allow_change_of_redirection_after_login') - case user.preferred_login_redirection - when 'keep_on_same_page' - redirect_back_or_default(user.admin_url) - when 'site_homepage' - redirect_to :controller => :home - when 'user_profile_page' - redirect_to user.public_profile_url - when 'user_homepage' - redirect_to user.url - when 'user_control_panel' - redirect_to user.admin_url - else - redirect_back_or_default(user.admin_url) - end + check_redirection_options(user, user.preferred_login_redirection, user.admin_url) else if environment == current_user.environment - case environment.redirection_after_login - when 'keep_on_same_page' - redirect_back_or_default(user.admin_url) - when 'site_homepage' - redirect_to :controller => :home - when 'user_profile_page' - redirect_to user.public_profile_url - when 'user_homepage' - redirect_to user.url - when 'user_control_panel' - redirect_to user.admin_url - else - redirect_back_or_default(user.admin_url) - end + check_redirection_options(user, environment.redirection_after_login, user.admin_url) else redirect_back_or_default(:controller => 'home') end @@ -418,20 +391,7 @@ class AccountController < ApplicationController end def go_to_signup_initial_page - case @user.environment.redirection_after_signup - when 'keep_on_same_page' - redirect_back_or_default(user.admin_url) - when 'site_homepage' - redirect_to :controller => :home - when 'user_profile_page' - redirect_to user.public_profile_url - when 'user_homepage' - redirect_to user.url - when 'user_control_panel' - redirect_to user.admin_url - else - redirect_to user.url - end + check_redirection_options(user, user.environment.redirection_after_signup, user.url) end def redirect_if_logged_in @@ -449,4 +409,22 @@ class AccountController < ApplicationController user end + protected + + def check_redirection_options(user, condition, default) + case condition + when 'keep_on_same_page' + redirect_back_or_default(user.admin_url) + when 'site_homepage' + redirect_to :controller => :home + when 'user_profile_page' + redirect_to user.public_profile_url + when 'user_homepage' + redirect_to user.url + when 'user_control_panel' + redirect_to user.admin_url + else + redirect_back_or_default(default) + end + end end -- libgit2 0.21.2