]> git.aero2k.de Git - dfde/quickmods.git/commitdiff
Only suggest user ban if user not already deleted
authorJTH <JTH@debianforum.de>
Fri, 16 Sep 2022 09:15:06 +0000 (11:15 +0200)
committerThorsten <mail@aero2k.de>
Fri, 16 Sep 2022 17:21:47 +0000 (19:21 +0200)
quickmod.user.js

index 8905d6ab22b37ef3c34231381f140f60e2fbaf84..a30d0752b89421da409767391d8f3b63d359fbe5 100644 (file)
@@ -112,7 +112,8 @@ function postForm(form, formData, submitName) {
 
 async function remove_post_handler(event) {
     const post = event.currentTarget.closest('.post');
-    const username = post.querySelector(".author .username,.author .username-coloured").text;
+    const usernameElem = post.querySelector(".author .username,.author .username-coloured");
+    const username = usernameElem.textContent;
     const thread_title = document.querySelector('.topic-title a').text;
     const content = ellipsify(post.querySelector(".content").innerText, 250);
 
@@ -125,7 +126,9 @@ async function remove_post_handler(event) {
     /* Prompting for a separate ban reason in case there is something more
      * specific to note here.
      */
-    const banReason = window.prompt(`Benutzer „${username}“ sperren?\n\nGrund:`, "Spam");
+    const userStillExists = usernameElem.nodeName === "A";
+    const banReason = userStillExists &&
+        window.prompt(`Benutzer „${username}“ sperren?\n\nGrund:`, "Spam");
     const shouldCloseReport = isPostReported(post) && window.confirm("Meldung zum Beitrag schließen?");
 
     /* Initially, I wanted to use Promise.allSettled() below to trigger and wait
@@ -145,7 +148,7 @@ async function remove_post_handler(event) {
         errors.push(err);
     }
 
-    if (banReason !== null) {
+    if (banReason) {
         try {
             await banUser(username, banReason);
         } catch (err) {