add group page

This commit is contained in:
2025-01-20 16:30:39 +02:00
parent 850360f553
commit 7ef65cb44f
5 changed files with 122 additions and 4 deletions

38
app.py
View File

@@ -30,7 +30,6 @@ login_manager.login_view = 'login'
migrate = Migrate(app, db)
@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id))
@@ -264,6 +263,43 @@ def create_user():
db.session.commit()
return redirect(url_for('admin'))
@app.route('/group/<int:group_id>/manage')
@login_required
@admin_required
def manage_group(group_id):
group = Group.query.get_or_404(group_id)
available_players = Player.query.filter(~Player.groups.any(Group.id == group_id)).all()
return render_template('manage_group.html', group=group, available_players=available_players)
@app.route('/group/<int:group_id>/add_player', methods=['POST'])
@login_required
@admin_required
def add_player_to_group(group_id):
group = Group.query.get_or_404(group_id)
player_id = request.form['player_id']
player = Player.query.get_or_404(player_id)
group.players.append(player)
db.session.commit()
return redirect(url_for('manage_group', group_id=group_id))
@app.route('/group/<int:group_id>/upload', methods=['POST'])
@login_required
@admin_required
def upload_content_to_group(group_id):
group = Group.query.get_or_404(group_id)
files = request.files.getlist('files')
duration = int(request.form['duration'])
for file in files:
filename = secure_filename(file.filename)
file_path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
file.save(file_path)
new_content = Content(file_name=filename, duration=duration, group_id=group_id)
db.session.add(new_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