fix: send confirmation email on re-adding agent (#5279)
Send confirmation email after re-adding the agent. Fixes: #4951
This commit is contained in:
parent
0cd08065d1
commit
ea918d9c5a
3 changed files with 21 additions and 2 deletions
|
@ -39,7 +39,7 @@ class Api::V1::Accounts::AgentsController < Api::V1::Accounts::BaseController
|
|||
# TODO: move this to a builder and combine the save account user method into a builder
|
||||
# ensure the account user association is also created in a single transaction
|
||||
def create_user
|
||||
return if @user
|
||||
return @user.send_confirmation_instructions if @user
|
||||
|
||||
@user = User.create!(new_agent_params.slice(:email, :name, :password, :password_confirmation))
|
||||
end
|
||||
|
|
|
@ -5,9 +5,15 @@
|
|||
<p><%= account_user.inviter.name %>, with <%= account_user.account.name %>, has invited you to try out <%= global_config['BRAND_NAME'] || 'Chatwoot' %>! </p>
|
||||
<% end %>
|
||||
|
||||
<% if @resource.confirmed? %>
|
||||
<p>You can login to your account through the link below:</p>
|
||||
<% else %>
|
||||
<p>You can confirm your account email through the link below:</p>
|
||||
<% end %>
|
||||
|
||||
<% if account_user&.inviter.present? && @resource.unconfirmed_email.blank? %>
|
||||
<% if @resource.confirmed? %>
|
||||
<p><%= link_to 'Login to my account', frontend_url('auth/sign_in') %></p>
|
||||
<% elsif account_user&.inviter.present? && @resource.unconfirmed_email.blank? %>
|
||||
<p><%= link_to 'Confirm my account', frontend_url('auth/password/edit', reset_password_token: @resource.send(:set_reset_password_token)) %></p>
|
||||
<% else %>
|
||||
<p><%= link_to 'Confirm my account', frontend_url('auth/confirmation', confirmation_token: @token) %></p>
|
||||
|
|
|
@ -11,6 +11,7 @@ RSpec.describe 'Confirmation Instructions', type: :mailer do
|
|||
|
||||
before do
|
||||
# to verify the token in email
|
||||
confirmable_user.update!(confirmed_at: nil)
|
||||
confirmable_user.send(:generate_confirmation_token)
|
||||
end
|
||||
|
||||
|
@ -61,5 +62,17 @@ RSpec.describe 'Confirmation Instructions', type: :mailer do
|
|||
expect(confirmable_user.unconfirmed_email.blank?).to be false
|
||||
end
|
||||
end
|
||||
|
||||
context 'when user already confirmed' do
|
||||
before do
|
||||
confirmable_user.confirm
|
||||
confirmable_user.account_users.last.destroy!
|
||||
end
|
||||
|
||||
it 'send instructions with the link to login' do
|
||||
confirmation_mail = Devise::Mailer.confirmation_instructions(confirmable_user.reload, nil, {})
|
||||
expect(confirmation_mail.body).to include('/auth/sign_in')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue