mirror of
https://github.com/discourse/discourse.git
synced 2025-05-23 19:54:14 +08:00
FIX: only send user suspension emails if email message provided (#12666)
This makes behavior consistent with documentation: API: > Will send an email with this message when present Web UI: > Optionally, provide more information about the suspension and it will be emailed to the user
This commit is contained in:
@ -124,12 +124,14 @@ class Admin::UsersController < Admin::AdminController
|
|||||||
end
|
end
|
||||||
@user.logged_out
|
@user.logged_out
|
||||||
|
|
||||||
Jobs.enqueue(
|
if message && !message.empty?
|
||||||
:critical_user_email,
|
Jobs.enqueue(
|
||||||
type: :account_suspended,
|
:critical_user_email,
|
||||||
user_id: @user.id,
|
type: :account_suspended,
|
||||||
user_history_id: user_history.id
|
user_id: @user.id,
|
||||||
)
|
user_history_id: user_history.id
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
DiscourseEvent.trigger(
|
DiscourseEvent.trigger(
|
||||||
:user_suspended,
|
:user_suspended,
|
||||||
|
@ -133,10 +133,13 @@ RSpec.describe Admin::UsersController do
|
|||||||
|
|
||||||
it "works properly" do
|
it "works properly" do
|
||||||
expect(user).not_to be_suspended
|
expect(user).not_to be_suspended
|
||||||
put "/admin/users/#{user.id}/suspend.json", params: {
|
|
||||||
suspend_until: 5.hours.from_now,
|
expect do
|
||||||
reason: "because I said so"
|
put "/admin/users/#{user.id}/suspend.json", params: {
|
||||||
}
|
suspend_until: 5.hours.from_now,
|
||||||
|
reason: "because I said so"
|
||||||
|
}
|
||||||
|
end.to change { Jobs::CriticalUserEmail.jobs.size }.by(0)
|
||||||
|
|
||||||
expect(response.status).to eq(200)
|
expect(response.status).to eq(200)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user