FIX: Do not assign the same user more than once
This prevents resending assignment notification emails.
This commit is contained in:
parent
b20b4c088d
commit
a308e2a445
|
@ -131,6 +131,8 @@ SQL
|
||||||
end
|
end
|
||||||
|
|
||||||
def assign(assign_to, silent: false)
|
def assign(assign_to, silent: false)
|
||||||
|
return false if @topic.custom_fields[ASSIGNED_TO_ID] == assign_to.id.to_s
|
||||||
|
|
||||||
@topic.custom_fields[ASSIGNED_TO_ID] = assign_to.id
|
@topic.custom_fields[ASSIGNED_TO_ID] = assign_to.id
|
||||||
@topic.custom_fields[ASSIGNED_BY_ID] = @assigned_by.id
|
@topic.custom_fields[ASSIGNED_BY_ID] = @assigned_by.id
|
||||||
@topic.save_custom_fields
|
@topic.save_custom_fields
|
||||||
|
|
|
@ -114,6 +114,19 @@ RSpec.describe TopicAssigner do
|
||||||
.to eq(moderator.id)
|
.to eq(moderator.id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "doesn't assign the same user more than once" do
|
||||||
|
SiteSetting.assign_mailer_enabled = true
|
||||||
|
|
||||||
|
Email::Sender.any_instance.expects(:send).once
|
||||||
|
expect(assigner.assign(moderator)).to eq(true)
|
||||||
|
|
||||||
|
Email::Sender.any_instance.expects(:send).never
|
||||||
|
expect(assigner.assign(moderator)).to eq(false)
|
||||||
|
|
||||||
|
Email::Sender.any_instance.expects(:send).once
|
||||||
|
expect(assigner.assign(Fabricate(:moderator))).to eq(true)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "unassign_on_close" do
|
context "unassign_on_close" do
|
||||||
|
|
Loading…
Reference in New Issue