From b94e71450fdf23c87b6e041a7e966ab54e465c40 Mon Sep 17 00:00:00 2001 From: TLSM Date: Thu, 9 Jun 2022 02:42:52 -0400 Subject: [PATCH] Add un-holing to hole report command. --- files/classes/mod_logs.py | 2 +- files/routes/reporting.py | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/files/classes/mod_logs.py b/files/classes/mod_logs.py index b5e3403fb..b4a848a0a 100644 --- a/files/classes/mod_logs.py +++ b/files/classes/mod_logs.py @@ -280,7 +280,7 @@ ACTIONTYPES = { "color": 'bg-success' }, 'move_hole': { - "str": 'moved {self.target_link} to /h/{self.target_post.sub}', + "str": 'changed hole of {self.target_link}', "icon": 'fa-manhole', "color": 'bg-primary' }, diff --git a/files/routes/reporting.py b/files/routes/reporting.py index 699bedb1c..64e78fb4b 100644 --- a/files/routes/reporting.py +++ b/files/routes/reporting.py @@ -40,15 +40,25 @@ def api_flag_post(pid, v): ) g.db.add(ma) elif reason.startswith('/h/') and v.admin_level > 1: - sub = reason[3:].strip().lower() - sub = g.db.query(Sub).filter_by(name=sub).one_or_none() - if not sub: abort(404) - post.sub = sub.name + sub_from = post.sub + sub_to = reason[3:].strip().lower() + sub_to = g.db.query(Sub).filter_by(name=sub_to).one_or_none() + sub_to = sub_to.name if sub_to else None + + if sub_from == sub_to: + abort(404) + post.sub = sub_to g.db.add(post) - ma=ModAction( - kind="move_hole", + + sub_from_str = 'frontpage' if sub_from is None else \ + f'/h/{sub_from}' + sub_to_str = 'frontpage' if sub_to is None else \ + f'/h/{sub_to}' + ma = ModAction( + kind='move_hole', user_id=v.id, target_submission_id=post.id, + _note=f'{sub_from_str} → {sub_to_str}', ) g.db.add(ma) else: