summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Buijs <abuijs@gitlab.com>2019-08-12 17:40:24 +0200
committerAlex Buijs <abuijs@gitlab.com>2019-08-12 17:40:24 +0200
commit54ddc018ac71f0ec7379c8528144bb9192ced510 (patch)
tree635abb15c4e91e1ab4020bbaf6f7d939e0fe75d3
parent4b2c2f1275ff6beecab8f7b5140f5ddc60cf340c (diff)
downloadgitlab-ce-47003-user-onboarding-replace-current-email-confirmation-flow-with-a-soft-email-confirmation-flow.tar.gz
-rw-r--r--app/controllers/concerns/confirm_email_warning.rb2
-rw-r--r--app/controllers/registrations_controller.rb10
2 files changed, 10 insertions, 2 deletions
diff --git a/app/controllers/concerns/confirm_email_warning.rb b/app/controllers/concerns/confirm_email_warning.rb
index 8e2d08c9193..5a4b5897a4f 100644
--- a/app/controllers/concerns/confirm_email_warning.rb
+++ b/app/controllers/concerns/confirm_email_warning.rb
@@ -10,9 +10,9 @@ module ConfirmEmailWarning
protected
def set_confirm_warning
- return if peek_request? || json_request? || !request.get?
return unless current_user
return if current_user.confirmed?
+ return if peek_request? || json_request? || !request.get?
email = current_user.unconfirmed_email || current_user.email
diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb
index 1099773c904..e4ff21bc952 100644
--- a/app/controllers/registrations_controller.rb
+++ b/app/controllers/registrations_controller.rb
@@ -68,7 +68,7 @@ class RegistrationsController < Devise::RegistrationsController
def after_sign_up_path_for(user)
Gitlab::AppLogger.info(user_created_message(confirmed: user.confirmed?))
- user.confirmed? || Feature.enabled?(:soft_email_confirmation) ? stored_location_for(user) || dashboard_projects_path : users_almost_there_path
+ confirmed_or_unconfirmed_access_allowed(user) ? stored_location_or_dashboard(user) : users_almost_there_path
end
def after_inactive_sign_up_path_for(resource)
@@ -134,4 +134,12 @@ class RegistrationsController < Devise::RegistrationsController
def terms_accepted?
Gitlab::Utils.to_boolean(params[:terms_opt_in])
end
+
+ def confirmed_or_unconfirmed_access_allowed(user)
+ user.confirmed? || Feature.enabled?(:soft_email_confirmation)
+ end
+
+ def stored_location_or_dashboard(user)
+ stored_location_for(user) || dashboard_projects_path
+ end
end