Commit aa3004c4 authored by Nick Thomas's avatar Nick Thomas

Merge branch 'bvl-fix-sign-out-on-terms' into 'master'

Allow a user to sign out when on the terms page

Closes #46211

See merge request gitlab-org/gitlab-ce!18875
parents da49a357 a5cb2fe2
...@@ -13,8 +13,7 @@ class ApplicationController < ActionController::Base ...@@ -13,8 +13,7 @@ class ApplicationController < ActionController::Base
before_action :authenticate_sessionless_user! before_action :authenticate_sessionless_user!
before_action :authenticate_user! before_action :authenticate_user!
before_action :enforce_terms!, if: -> { Gitlab::CurrentSettings.current_application_settings.enforce_terms }, before_action :enforce_terms!, if: :should_enforce_terms?
unless: :peek_request?
before_action :validate_user_service_ticket! before_action :validate_user_service_ticket!
before_action :check_password_expiration before_action :check_password_expiration
before_action :ldap_security_check before_action :ldap_security_check
...@@ -373,4 +372,10 @@ class ApplicationController < ActionController::Base ...@@ -373,4 +372,10 @@ class ApplicationController < ActionController::Base
def peek_request? def peek_request?
request.path.start_with?('/-/peek') request.path.start_with?('/-/peek')
end end
def should_enforce_terms?
return false unless Gitlab::CurrentSettings.current_application_settings.enforce_terms
!(peek_request? || devise_controller?)
end
end end
...@@ -81,4 +81,22 @@ describe 'Users > Terms' do ...@@ -81,4 +81,22 @@ describe 'Users > Terms' do
expect(find_field('issue_description').value).to eq("We don't want to lose what the user typed") expect(find_field('issue_description').value).to eq("We don't want to lose what the user typed")
end end
end end
context 'when the terms are enforced' do
before do
enforce_terms
end
context 'signing out', :js do
it 'allows the user to sign out without a response' do
visit terms_path
find('.header-user-dropdown-toggle').click
click_link('Sign out')
expect(page).to have_content('Sign in')
expect(page).to have_content('Register')
end
end
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment