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: