Skip to content
Snippets Groups Projects
Commit 7bb84e64 authored by Felipe Artur's avatar Felipe Artur
Browse files

Change landing page when skipping confirmation email and add documentation

parent 0baadd6c
No related branches found
No related tags found
No related merge requests found
Loading
@@ -37,8 +37,8 @@ class RegistrationsController < Devise::RegistrationsController
Loading
@@ -37,8 +37,8 @@ class RegistrationsController < Devise::RegistrationsController
super super
end end
   
def after_sign_up_path_for(_resource) def after_sign_up_path_for(user)
users_almost_there_path user.confirmed_at.present? ? dashboard_projects_path : users_almost_there_path
end end
   
def after_inactive_sign_up_path_for(_resource) def after_inactive_sign_up_path_for(_resource)
Loading
Loading
Loading
@@ -106,9 +106,9 @@
Loading
@@ -106,9 +106,9 @@
.form-group .form-group
.col-sm-offset-2.col-sm-10 .col-sm-offset-2.col-sm-10
.checkbox .checkbox
= f.label :skip_confirmation_email do = f.label :send_user_confirmation_email do
= f.check_box :send_user_confirmation_email = f.check_box :send_user_confirmation_email
Send sign-up email confirmation Send confirmation email on sign-up
.form-group .form-group
.col-sm-offset-2.col-sm-10 .col-sm-offset-2.col-sm-10
.checkbox .checkbox
Loading
Loading
Loading
@@ -3,7 +3,7 @@ class AddSendConfirmationEmailToApplicationSettings < ActiveRecord::Migration
Loading
@@ -3,7 +3,7 @@ class AddSendConfirmationEmailToApplicationSettings < ActiveRecord::Migration
add_column :application_settings, :send_user_confirmation_email, :boolean, default: false add_column :application_settings, :send_user_confirmation_email, :boolean, default: false
   
#Sets confirmation email to true by default on existing installations. #Sets confirmation email to true by default on existing installations.
ApplicationSetting.update_all(send_user_confirmation_email: true) execute "UPDATE application_settings SET send_user_confirmation_email=true"
end end
   
def down def down
Loading
Loading
Loading
@@ -8,3 +8,4 @@
Loading
@@ -8,3 +8,4 @@
- [User File Uploads](user_file_uploads.md) - [User File Uploads](user_file_uploads.md)
- [How we manage the CRIME vulnerability](crime_vulnerability.md) - [How we manage the CRIME vulnerability](crime_vulnerability.md)
- [Enforce Two-factor authentication](two_factor_authentication.md) - [Enforce Two-factor authentication](two_factor_authentication.md)
- [Send email confirmation on sign-up](user_email_confirmation.md)
# User email confirmation at sign-up
Gitlab admin can enable email confirmation on sign-up, if you want to confirm all
user emails before they are able to sign-in.
In the Admin area under **Settings** (`/admin/application_settings`), go to section
**Sign-in Restrictions** and look for **Send confirmation email on sign-up** option.
Loading
@@ -16,7 +16,7 @@ describe RegistrationsController do
Loading
@@ -16,7 +16,7 @@ describe RegistrationsController do
it 'logs user in directly' do it 'logs user in directly' do
post(:create, user_params) post(:create, user_params)
expect(ActionMailer::Base.deliveries.last).to be_nil expect(ActionMailer::Base.deliveries.last).to be_nil
expect(subject.current_user).to be expect(subject.current_user).to_not be_nil
end end
end end
   
Loading
Loading
Loading
@@ -2,22 +2,45 @@ require 'spec_helper'
Loading
@@ -2,22 +2,45 @@ require 'spec_helper'
   
feature 'Signup', feature: true do feature 'Signup', feature: true do
describe 'signup with no errors' do describe 'signup with no errors' do
before { allow_any_instance_of(ApplicationSetting).to receive(:send_user_confirmation_email).and_return(true) }
   
it 'creates the user account and sends a confirmation email' do context "when sending confirmation email" do
user = build(:user) before { allow_any_instance_of(ApplicationSetting).to receive(:send_user_confirmation_email).and_return(true) }
   
visit root_path it 'creates the user account and sends a confirmation email' do
user = build(:user)
   
fill_in 'new_user_name', with: user.name visit root_path
fill_in 'new_user_username', with: user.username
fill_in 'new_user_email', with: user.email fill_in 'new_user_name', with: user.name
fill_in 'new_user_password', with: user.password fill_in 'new_user_username', with: user.username
click_button "Sign up" fill_in 'new_user_email', with: user.email
fill_in 'new_user_password', with: user.password
click_button "Sign up"
   
expect(current_path).to eq users_almost_there_path expect(current_path).to eq users_almost_there_path
expect(page).to have_content("Please check your email to confirm your account") expect(page).to have_content("Please check your email to confirm your account")
end
end end
context "when not sending confirmation email" do
before { allow_any_instance_of(ApplicationSetting).to receive(:send_user_confirmation_email).and_return(false) }
it 'creates the user account and goes to dashboard' do
user = build(:user)
visit root_path
fill_in 'new_user_name', with: user.name
fill_in 'new_user_username', with: user.username
fill_in 'new_user_email', with: user.email
fill_in 'new_user_password', with: user.password
click_button "Sign up"
expect(current_path).to eq dashboard_projects_path
expect(page).to have_content("Welcome! You have signed up successfully.")
end
end
end end
   
describe 'signup with errors' do describe 'signup with errors' do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment