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

Binary file not shown.

Binary file not shown.

BIN
static/uploads/track.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -52,14 +52,14 @@
<div class="flex-grow-1">
<p class="mb-0"><strong>Media Name:</strong> {{ media.file_name }}</p>
</div>
<form action="{{ url_for('edit_content', content_id=media.id) }}" method="post" class="d-flex align-items-center">
<form action="{{ url_for('edit_group_media', group_id=group.id, content_id=media.id) }}" method="post" class="d-flex align-items-center">
<div class="input-group me-2">
<span class="input-group-text">seconds</span>
<input type="number" class="form-control {{ 'dark-mode' if theme == 'dark' else '' }}" name="duration" value="{{ media.duration }}" required>
</div>
<button type="submit" class="btn btn-warning me-2">Edit</button>
</form>
<form action="{{ url_for('delete_content', content_id=media.id) }}" method="post" style="display:inline;">
<form action="{{ url_for('delete_group_media', group_id=group.id, content_id=media.id) }}" method="post" style="display:inline;">
<button type="submit" class="btn btn-danger" onclick="return confirm('Are you sure you want to delete this media?');">Delete</button>
</form>
</li>