add group page
This commit is contained in:
38
app.py
38
app.py
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user