diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 3f896f46c6c..f7d5ca08c05 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -1,16 +1,18 @@ class SessionsController < Devise::SessionsController def new - if request.referer.present? - referer_uri = URI(request.referer) - if referer_uri.host == Gitlab.config.gitlab.host - store_location_for(:redirect, referer_uri.path) - else - store_location_for(:redirect, request.fullpath) - end - else - store_location_for(:redirect, request.fullpath) - end + redirect_url = if request.referer.present? + referer_uri = URI(request.referer) + if referer_uri.host == Gitlab.config.gitlab.host + referer_uri.path + else + request.fullpath + end + else + request.fullpath + end + + store_location_for(:redirect, redirect_url) super end