diff options
author | Marin Jankovski <marin@gitlab.com> | 2014-07-21 17:45:27 +0400 |
---|---|---|
committer | Marin Jankovski <marin@gitlab.com> | 2014-07-21 17:45:27 +0400 |
commit | 9714061bb0f099f3800ffdc75bc8807ee783e32a (patch) | |
tree | 0fc746c810639b36ad5258b7a4c85facb1c681f9 /app/controllers/sessions_controller.rb | |
parent | cfde0936ea20edab82081c3f1288098c882e7de9 (diff) |
If the referer is not set, use fullpath.
Diffstat (limited to 'app/controllers/sessions_controller.rb')
-rw-r--r-- | app/controllers/sessions_controller.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 9b7bd94c3a2..3f896f46c6c 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -2,7 +2,14 @@ class SessionsController < Devise::SessionsController def new if request.referer.present? - store_location_for(:redirect, URI(request.referer).path) + 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 super |