summaryrefslogtreecommitdiff
path: root/app/controllers/sessions_controller.rb
blob: e918f46bb3e90668633db2598ade3542e9ed69d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class SessionsController < Devise::SessionsController

  def new
    redirect_path = if request.referer.present? && (params['redirect_to_referer'] == 'yes')
                     referer_uri = URI(request.referer)
                     if referer_uri.host == Gitlab.config.gitlab.host
                       referer_uri.path
                     else
                       request.fullpath
                     end
                   else
                     request.fullpath
                   end

    # Prevent a 'you are already signed in' message directly after signing:
    # we should never redirect to '/users/sign_in' after signing in successfully.
    unless redirect_path == '/users/sign_in'
      store_location_for(:redirect, redirect_path)
    end

    if Gitlab.config.ldap.enabled
      @ldap_servers = Gitlab.config.ldap.servers
    end

    super
  end

  def create
    super
  end
end