Add comprehensive edited media management with expandable cards UI
- Optimized delete modal for light/dark modes with modern gradients - Added edit_count tracking to media library with warnings in delete confirmation - Enhanced PlayerEdit model with CASCADE delete on foreign keys - Improved player management page to show latest 3 edited files with image previews - Created new edited_media route and template with full version history - Implemented horizontal expandable cards with two-column layout - Added interactive version selection with thumbnail grid - Included original file in versions list with source badge - Fixed deletion workflow to clean up PlayerEdit records and edited_media folders - Enhanced UI with smooth animations, hover effects, and dark mode support
This commit is contained in:
@@ -426,6 +426,16 @@ def delete_leftover_images():
|
||||
if os.path.exists(file_path):
|
||||
os.remove(file_path)
|
||||
|
||||
# Delete edited media archive folder if it exists
|
||||
import shutil
|
||||
edited_media_dir = os.path.join(current_app.config['UPLOAD_FOLDER'], 'edited_media', str(content.id))
|
||||
if os.path.exists(edited_media_dir):
|
||||
shutil.rmtree(edited_media_dir)
|
||||
|
||||
# Delete associated player edit records first
|
||||
from app.models.player_edit import PlayerEdit
|
||||
PlayerEdit.query.filter_by(content_id=content.id).delete()
|
||||
|
||||
# Delete database record
|
||||
db.session.delete(content)
|
||||
deleted_count += 1
|
||||
@@ -472,6 +482,16 @@ def delete_leftover_videos():
|
||||
if os.path.exists(file_path):
|
||||
os.remove(file_path)
|
||||
|
||||
# Delete edited media archive folder if it exists
|
||||
import shutil
|
||||
edited_media_dir = os.path.join(current_app.config['UPLOAD_FOLDER'], 'edited_media', str(content.id))
|
||||
if os.path.exists(edited_media_dir):
|
||||
shutil.rmtree(edited_media_dir)
|
||||
|
||||
# Delete associated player edit records first
|
||||
from app.models.player_edit import PlayerEdit
|
||||
PlayerEdit.query.filter_by(content_id=content.id).delete()
|
||||
|
||||
# Delete database record
|
||||
db.session.delete(content)
|
||||
deleted_count += 1
|
||||
@@ -505,6 +525,16 @@ def delete_single_leftover(content_id):
|
||||
if os.path.exists(file_path):
|
||||
os.remove(file_path)
|
||||
|
||||
# Delete edited media archive folder if it exists
|
||||
import shutil
|
||||
edited_media_dir = os.path.join(current_app.config['UPLOAD_FOLDER'], 'edited_media', str(content.id))
|
||||
if os.path.exists(edited_media_dir):
|
||||
shutil.rmtree(edited_media_dir)
|
||||
|
||||
# Delete associated player edit records first
|
||||
from app.models.player_edit import PlayerEdit
|
||||
PlayerEdit.query.filter_by(content_id=content.id).delete()
|
||||
|
||||
# Delete database record
|
||||
db.session.delete(content)
|
||||
db.session.commit()
|
||||
|
||||
Reference in New Issue
Block a user