FIX: Add back missing 'delete spammer' flag option (#23605)

This commit is contained in:
Ted Johansson 2023-09-15 17:21:03 +08:00 committed by GitHub
parent e6c97ffece
commit 68c891609b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 3 deletions

View File

@ -68,7 +68,7 @@
{{#if this.showDeleteSpammer}} {{#if this.showDeleteSpammer}}
<DButton <DButton
class="btn-danger" class="btn-danger delete-spammer"
@action={{this.deleteSpammer}} @action={{this.deleteSpammer}}
@disabled={{not this.submitEnabled}} @disabled={{not this.submitEnabled}}
@icon="exclamation-triangle" @icon="exclamation-triangle"

View File

@ -67,6 +67,10 @@ export default class Flag extends Component {
); );
} }
get showDeleteSpammer() {
return this.spammerDetails?.canDelete && this.selected?.name_key === "spam";
}
get submitLabel() { get submitLabel() {
if (this.selected?.is_custom_flag) { if (this.selected?.is_custom_flag) {
return this.args.model.flagTarget.customSubmitLabel(); return this.args.model.flagTarget.customSubmitLabel();

View File

@ -26,7 +26,7 @@ async function pressEnter(element, modifier) {
} }
acceptance("flagging", function (needs) { acceptance("flagging", function (needs) {
needs.user(); needs.user({ admin: true });
needs.pretender((server, helper) => { needs.pretender((server, helper) => {
server.get("/u/uwe_keim.json", () => { server.get("/u/uwe_keim.json", () => {
return helper.response(userFixtures["/u/charlie.json"]); return helper.response(userFixtures["/u/charlie.json"]);
@ -53,7 +53,8 @@ acceptance("flagging", function (needs) {
public_admission: false, public_admission: false,
allow_membership_requests: true, allow_membership_requests: true,
membership_request_template: "Please add me", membership_request_template: "Please add me",
full_name: null, can_be_deleted: true,
can_delete_all_posts: true,
}); });
}); });
server.get("/admin/users/5.json", () => { server.get("/admin/users/5.json", () => {
@ -129,6 +130,14 @@ acceptance("flagging", function (needs) {
assert.ok(!exists(".modal-body")); assert.ok(!exists(".modal-body"));
}); });
test("Can delete spammer from spam", async function (assert) {
await visit("/t/internationalization-localization/280");
await openFlagModal();
await click("#radio_spam");
assert.ok(exists(".delete-spammer"));
});
test("Gets dismissable warning from canceling incomplete silence from take action", async function (assert) { test("Gets dismissable warning from canceling incomplete silence from take action", async function (assert) {
await visit("/t/internationalization-localization/280"); await visit("/t/internationalization-localization/280");
await openFlagModal(); await openFlagModal();