software updated

This commit is contained in:
2025-04-14 10:38:43 +03:00
parent fe72361057
commit 8e965b4499
5 changed files with 43 additions and 3 deletions

42
app.py
View File

@@ -427,7 +427,15 @@ def create_group():
@admin_required
def manage_group(group_id):
group = Group.query.get_or_404(group_id)
content = Content.query.filter(Content.player_id.in_([player.id for player in group.players])).all()
# Get unique media files for the group
content = (
db.session.query(Content.id, Content.file_name, db.func.min(Content.duration).label('duration'))
.filter(Content.player_id.in_([player.id for player in group.players]))
.group_by(Content.file_name)
.all()
)
return render_template('manage_group.html', group=group, content=content)
@app.route('/group/<int:group_id>/edit', methods=['GET', 'POST'])
@@ -460,6 +468,38 @@ def group_fullscreen(group_id):
content = Content.query.filter(Content.player_id.in_([player.id for player in group.players])).all()
return render_template('group_fullscreen.html', group=group, content=content)
@app.route('/group/<int:group_id>/media/<int:content_id>/edit', methods=['POST'])
@login_required
@admin_required
def edit_group_media(group_id, content_id):
group = Group.query.get_or_404(group_id)
new_duration = int(request.form['duration'])
# Update the duration for all players in the group
for player in group.players:
content = Content.query.filter_by(player_id=player.id, file_name=Content.query.get(content_id).file_name).first()
if content:
content.duration = new_duration
db.session.commit()
return redirect(url_for('manage_group', group_id=group_id))
@app.route('/group/<int:group_id>/media/<int:content_id>/delete', methods=['POST'])
@login_required
@admin_required
def delete_group_media(group_id, content_id):
group = Group.query.get_or_404(group_id)
file_name = Content.query.get(content_id).file_name
# Delete the media for all players in the group
for player in group.players:
content = Content.query.filter_by(player_id=player.id, file_name=file_name).first()
if content:
db.session.delete(content)
db.session.commit()
return redirect(url_for('manage_group', group_id=group_id))
if __name__ == '__main__':
with app.app_context():
db.create_all() # Creează toate tabelele