FIX: Write to group logs when a user is added to group by invite (#18841)
This commit is contained in:
parent
2e984f2eca
commit
391a456443
|
@ -209,6 +209,7 @@ class InviteRedeemer
|
||||||
group = Group.find_by(id: id)
|
group = Group.find_by(id: id)
|
||||||
if guardian.can_edit_group?(group)
|
if guardian.can_edit_group?(group)
|
||||||
invited_user.group_users.create!(group_id: group.id)
|
invited_user.group_users.create!(group_id: group.id)
|
||||||
|
GroupActionLogger.new(invite.invited_by, group).log_add_user_to_group(invited_user)
|
||||||
DiscourseEvent.trigger(:user_added_to_group, invited_user, group, automatic: false)
|
DiscourseEvent.trigger(:user_added_to_group, invited_user, group, automatic: false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -216,6 +216,30 @@ RSpec.describe InviteRedeemer do
|
||||||
expect(user.trust_level).to eq(2)
|
expect(user.trust_level).to eq(2)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "adds an entry to the group logs when the invited user is added to a group" do
|
||||||
|
group = Fabricate(:group)
|
||||||
|
InvitedGroup.create(group_id: group.id, invite_id: invite.id)
|
||||||
|
group.add_owner(invite.invited_by)
|
||||||
|
|
||||||
|
GroupHistory.destroy_all
|
||||||
|
|
||||||
|
user = InviteRedeemer.new(
|
||||||
|
invite: invite,
|
||||||
|
email: invite.email,
|
||||||
|
username: username,
|
||||||
|
name: name,
|
||||||
|
password: password
|
||||||
|
).redeem
|
||||||
|
|
||||||
|
expect(group.reload.usernames.split(",")).to include(user.username)
|
||||||
|
expect(GroupHistory.exists?(
|
||||||
|
target_user_id: user.id,
|
||||||
|
acting_user: invite.invited_by.id,
|
||||||
|
group_id: group.id,
|
||||||
|
action: GroupHistory.actions[:add_user_to_group]
|
||||||
|
)).to eq(true)
|
||||||
|
end
|
||||||
|
|
||||||
it "only allows one user to be created per invite" do
|
it "only allows one user to be created per invite" do
|
||||||
user = invite_redeemer.redeem
|
user = invite_redeemer.redeem
|
||||||
invite.reload
|
invite.reload
|
||||||
|
|
Loading…
Reference in New Issue