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:
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user