From 42e40c16919f634ac9c3632d97df674a1dac61c5 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sat, 12 Nov 2022 11:11:31 +0200 Subject: [PATCH] split off muting and unmuting --- files/assets/js/comments_admin.js | 14 ------- files/routes/admin.py | 50 ++++++++++++++---------- files/templates/comments.html | 4 +- files/templates/userpage/admintools.html | 6 +-- 4 files changed, 33 insertions(+), 41 deletions(-) diff --git a/files/assets/js/comments_admin.js b/files/assets/js/comments_admin.js index 738d97a6e6..ed249b9cec 100644 --- a/files/assets/js/comments_admin.js +++ b/files/assets/js/comments_admin.js @@ -47,17 +47,3 @@ function approveComment(t,comment_id,button1,button2,cls) { } ); } - -function adminToggleMute(userId, muteStatus, buttonId) { - const xhr = createXhrWithFormKey(`/mute_user/${userId}/${muteStatus}`); - xhr[0].onload = function() { - let data - try {data = JSON.parse(xhr[0].response)} - catch(e) {console.log(e)} - success = xhr[0].status >= 200 && xhr[0].status < 300; - showToast(success, getMessageFromJsonData(success, data)); - }; - xhr[0].send(xhr[1]); - document.getElementById('mute-user-' + buttonId).classList.toggle("d-none"); - document.getElementById('unmute-user-' + buttonId).classList.toggle("d-none"); -} diff --git a/files/routes/admin.py b/files/routes/admin.py index 99e17c8ca4..d900ab9468 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -1096,35 +1096,43 @@ def unban_user(user_id, v): return {"message": f"@{user.username} has been unbanned!"} -@app.post("/mute_user//") +@app.post("/mute_user/") @limiter.limit("1/second;30/minute;200/hour;1000/day") @admin_level_required(PERMS['USER_BAN']) -def mute_user(v, user_id, mute_status): +def mute_user(v, user_id): user = get_account(user_id) - if mute_status != 0 and not user.is_muted: + if not user.is_muted: user.is_muted = True - log_action = 'mod_mute_user' - success_msg = f"@{user.username} has been muted!" - elif mute_status == 0 and user.is_muted: + ma = ModAction( + kind='mod_mute_user', + user_id=v.id, + target_user_id=user.id, + ) + g.db.add(user) + g.db.add(ma) + + return {"message": f"@{user.username} has been muted!"} + + +@app.post("/unmute_user/") +@limiter.limit("1/second;30/minute;200/hour;1000/day") +@admin_level_required(PERMS['USER_BAN']) +def unmute_user(v, user_id): + user = get_account(user_id) + + if user.is_muted: user.is_muted = False - log_action = 'mod_unmute_user' - success_msg = f"@{user.username} has been un-muted!" - else: - abort(400) + ma = ModAction( + kind='mod_unmute_user', + user_id=v.id, + target_user_id=user.id, + ) + g.db.add(user) + g.db.add(ma) - ma = ModAction( - kind=log_action, - user_id=v.id, - target_user_id=user.id, - ) + return {"message": f"@{user.username} has been unmuted!"} - g.db.add(user) - g.db.add(ma) - if 'redir' in request.values: - return redirect(user.url) - else: - return {"message": success_msg} @app.post("/remove_post/") @limiter.limit("1/second;30/minute;200/hour;1000/day") diff --git a/files/templates/comments.html b/files/templates/comments.html index b92c9c9bb9..b14057e2aa 100644 --- a/files/templates/comments.html +++ b/files/templates/comments.html @@ -569,8 +569,8 @@ {% if (v and v.admin_level >= PERMS['USER_BAN']) and (c.sentto == 2) %} - - + + {% endif %}
diff --git a/files/templates/userpage/admintools.html b/files/templates/userpage/admintools.html index d49b965442..50166c265f 100644 --- a/files/templates/userpage/admintools.html +++ b/files/templates/userpage/admintools.html @@ -46,7 +46,6 @@
-
@@ -74,7 +73,6 @@ - @@ -92,8 +90,8 @@ {% endif %} {% if v.admin_level >= PERMS['USER_BAN'] %} - - + + {% endif %} {% if v and v.admin_level >= PERMS['POST_COMMENT_MODERATION'] %}