Add edited media report page and fix image versioning

- New route GET /players/<id>/edited-media-report with tabular report
- New template edited_media_report.html with User/Filename/Date/Link columns
- Launch Report button (green) next to View All Edited Media button
- Fix: on first edit, move original file to versionized folder as original_<name>
- Fix: content lookup fallback via PlayerEdit records and path regex
- Keep Content.filename pointing to latest edit for player playlist
This commit is contained in:
2026-07-21 09:56:14 +03:00
parent 2af04e1db3
commit 05194a19b6
7 changed files with 718 additions and 54 deletions
+17 -2
View File
@@ -62,6 +62,17 @@ def background_player_deployment(
from app.extensions import db
from app.utils.logger import log_action
from datetime import datetime
# Mark deployment as "in progress" immediately so the UI can show live status
player = Player.query.get(player_id)
if player:
player.deployment_status = 'deploying'
player.last_deployment_at = datetime.utcnow()
player.last_deployment_status = None
player.last_deployment_message = 'Deployment in progress...'
db.session.commit()
try:
# Execute deployment
result = deploy_player_to_host(
@@ -79,10 +90,8 @@ def background_player_deployment(
)
# Update player with deployment status
from datetime import datetime
player = Player.query.get(player_id)
if player:
player.last_deployment_at = datetime.utcnow()
if result.get('success'):
player.deployment_status = 'deployed'
player.last_deployment_status = 'success'
@@ -98,4 +107,10 @@ def background_player_deployment(
except Exception as e:
logger.error(f"Background deployment error for player '{player_name}': {str(e)}", exc_info=True)
player = Player.query.get(player_id)
if player:
player.deployment_status = 'failed'
player.last_deployment_status = 'failed'
player.last_deployment_message = f'Deployment crashed: {str(e)}'
db.session.commit()
log_action('error', f'Background deployment error for player "{player_name}": {str(e)}')