summaryrefslogtreecommitdiff
path: root/app/controllers/sessions_controller.rb
diff options
context:
space:
mode:
authorMarin Jankovski <marin@gitlab.com>2014-07-21 15:45:27 +0200
committerMarin Jankovski <marin@gitlab.com>2014-07-21 15:45:27 +0200
commit9714061bb0f099f3800ffdc75bc8807ee783e32a (patch)
tree0fc746c810639b36ad5258b7a4c85facb1c681f9 /app/controllers/sessions_controller.rb
parentcfde0936ea20edab82081c3f1288098c882e7de9 (diff)
downloadgitlab-ce-9714061bb0f099f3800ffdc75bc8807ee783e32a.tar.gz
If the referer is not set, use fullpath.
Diffstat (limited to 'app/controllers/sessions_controller.rb')
-rw-r--r--app/controllers/sessions_controller.rb9
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