diff --git a/app/routes/admin.py b/app/routes/admin.py index faac197..55eea08 100644 --- a/app/routes/admin.py +++ b/app/routes/admin.py @@ -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')