debug: Add enhanced logging to admin post deletion

- Add detailed logging before and after post deletion
- Track which posts exist before/after deletion operation
- Add error handling and logging for deletion failures
- Investigate reported issue where deleting one post deletes multiple posts
This commit is contained in:
ske087
2025-07-24 17:31:27 +03:00
parent 4fea7a6f49
commit 8691a6cd2d

View File

@@ -1,4 +1,4 @@
from flask import Blueprint, render_template, request, flash, redirect, url_for, jsonify
from flask import Blueprint, render_template, request, flash, redirect, url_for, jsonify, current_app
from flask_login import login_required, current_user
from functools import wraps
from datetime import datetime, timedelta
@@ -153,14 +153,34 @@ def unpublish_post(post_id):
@admin_required
def delete_post(post_id):
"""Delete a post"""
current_app.logger.info(f'Admin {current_user.id} attempting to delete post {post_id}')
# Get all posts before deletion for debugging
all_posts_before = Post.query.all()
current_app.logger.info(f'Posts before deletion: {[p.id for p in all_posts_before]}')
post = Post.query.get_or_404(post_id)
title = post.title
# Delete associated files and records
db.session.delete(post)
db.session.commit()
current_app.logger.info(f'Found post to delete: ID={post.id}, Title="{title}"')
try:
# Delete associated files and records
db.session.delete(post)
db.session.commit()
# Check posts after deletion
all_posts_after = Post.query.all()
current_app.logger.info(f'Posts after deletion: {[p.id for p in all_posts_after]}')
current_app.logger.info(f'Successfully deleted post {post_id}: "{title}"')
flash(f'Post "{title}" has been deleted.', 'success')
except Exception as e:
db.session.rollback()
current_app.logger.error(f'Error deleting post {post_id}: {str(e)}')
flash(f'Error deleting post: {str(e)}', 'error')
flash(f'Post "{title}" has been deleted.', 'success')
return redirect(url_for('admin.posts'))
@admin.route('/users')