mirror of
https://github.com/discourse/discourse.git
synced 2025-03-21 03:35:43 +08:00
FIX: enqueue activation email for invited user that has password set
This commit is contained in:
parent
1d4993a185
commit
521c88fe58
@ -62,6 +62,7 @@ InviteRedeemer = Struct.new(:invite, :username, :name, :password) do
|
|||||||
send_welcome_message
|
send_welcome_message
|
||||||
notify_invitee
|
notify_invitee
|
||||||
send_password_instructions
|
send_password_instructions
|
||||||
|
enqueue_activation_mail
|
||||||
delete_duplicate_invites
|
delete_duplicate_invites
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -126,6 +127,13 @@ InviteRedeemer = Struct.new(:invite, :username, :name, :password) do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def enqueue_activation_mail
|
||||||
|
if invited_user.has_password?
|
||||||
|
email_token = invited_user.email_tokens.create(email: invited_user.email)
|
||||||
|
Jobs.enqueue(:critical_user_email, type: :signup, user_id: invited_user.id, email_token: email_token.token)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def notify_invitee
|
def notify_invitee
|
||||||
if inviter = invite.invited_by
|
if inviter = invite.invited_by
|
||||||
inviter.notifications.create(notification_type: Notification.types[:invitee_accepted],
|
inviter.notifications.create(notification_type: Notification.types[:invitee_accepted],
|
||||||
|
@ -43,6 +43,7 @@ describe InviteRedeemer do
|
|||||||
SiteSetting.must_approve_users = true
|
SiteSetting.must_approve_users = true
|
||||||
inviter = invite.invited_by
|
inviter = invite.invited_by
|
||||||
inviter.admin = true
|
inviter.admin = true
|
||||||
|
Jobs.expects(:enqueue).with(:invite_password_instructions_email, has_entries(username: username))
|
||||||
user = invite_redeemer.redeem
|
user = invite_redeemer.redeem
|
||||||
|
|
||||||
expect(user.name).to eq(name)
|
expect(user.name).to eq(name)
|
||||||
@ -88,6 +89,7 @@ describe InviteRedeemer do
|
|||||||
|
|
||||||
it "can set password" do
|
it "can set password" do
|
||||||
inviter = invite.invited_by
|
inviter = invite.invited_by
|
||||||
|
Jobs.expects(:enqueue).with(:critical_user_email, has_entries(type: :signup))
|
||||||
user = InviteRedeemer.new(invite, username, name, password).redeem
|
user = InviteRedeemer.new(invite, username, name, password).redeem
|
||||||
expect(user).to have_password
|
expect(user).to have_password
|
||||||
expect(user.confirm_password?(password)).to eq(true)
|
expect(user.confirm_password?(password)).to eq(true)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user