f7f13f9db0
When terms are enforced, but the user has not accepted the terms access to the API & git is rejected with a message directing the user to the web app to accept the terms.
33 lines
770 B
Ruby
33 lines
770 B
Ruby
module Gitlab
|
|
module Auth
|
|
class UserAccessDeniedReason
|
|
def initialize(user)
|
|
@user = user
|
|
end
|
|
|
|
def rejection_message
|
|
case rejection_type
|
|
when :internal
|
|
'This action cannot be performed by internal users'
|
|
when :terms_not_accepted
|
|
'You must accept the Terms of Service in order to perform this action. '\
|
|
'Please access GitLab from a web browser to accept these terms.'
|
|
else
|
|
'Your account has been blocked.'
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def rejection_type
|
|
if @user.internal?
|
|
:internal
|
|
elsif @user.required_terms_not_accepted?
|
|
:terms_not_accepted
|
|
else
|
|
:blocked
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|