updated the manage player pages
This commit is contained in:
60
app.py
60
app.py
@@ -1,5 +1,5 @@
|
||||
import os
|
||||
from flask import Flask, render_template, request, redirect, url_for, session
|
||||
from flask import Flask, render_template, request, redirect, url_for, session, flash
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_login import LoginManager, UserMixin, login_user, logout_user, login_required, current_user
|
||||
from flask_bcrypt import Bcrypt
|
||||
@@ -80,6 +80,12 @@ def dashboard():
|
||||
groups = Group.query.all()
|
||||
return render_template('dashboard.html', players=players, groups=groups)
|
||||
|
||||
@app.route('/dashboard')
|
||||
@login_required
|
||||
def dashboard():
|
||||
logo_exists = os.path.exists(os.path.join(app.config['UPLOAD_FOLDER'], 'logo.png'))
|
||||
return render_template('dashboard.html', logo_exists=logo_exists)
|
||||
|
||||
@app.route('/register', methods=['GET', 'POST'])
|
||||
def register():
|
||||
if request.method == 'POST':
|
||||
@@ -101,7 +107,11 @@ def login():
|
||||
if user and bcrypt.check_password_hash(user.password, password):
|
||||
login_user(user)
|
||||
return redirect(url_for('dashboard'))
|
||||
return render_template('login.html')
|
||||
else:
|
||||
flash('Login Unsuccessful. Please check username and password', 'danger')
|
||||
|
||||
login_picture_exists = os.path.exists(os.path.join(app.config['UPLOAD_FOLDER'], 'login_picture.png'))
|
||||
return render_template('login.html', login_picture_exists=login_picture_exists)
|
||||
|
||||
@app.route('/logout')
|
||||
@login_required
|
||||
@@ -144,8 +154,10 @@ def upload_content():
|
||||
@login_required
|
||||
@admin_required
|
||||
def admin():
|
||||
logo_exists = os.path.exists(os.path.join(app.config['UPLOAD_FOLDER'], 'logo.png'))
|
||||
login_picture_exists = os.path.exists(os.path.join(app.config['UPLOAD_FOLDER'], 'login_picture.png'))
|
||||
users = User.query.all()
|
||||
return render_template('admin.html', users=users)
|
||||
return render_template('admin.html', users=users, logo_exists=logo_exists, login_picture_exists=login_picture_exists)
|
||||
|
||||
@app.route('/admin/change_role/<int:user_id>', methods=['POST'])
|
||||
@login_required
|
||||
@@ -373,7 +385,7 @@ def integrate_player():
|
||||
groups = Group.query.all()
|
||||
return render_template('integrate_player.html', players=players, groups=groups)
|
||||
|
||||
@app.route('/player/<int:player_id>/edit', methods=['GET', 'POST'])
|
||||
@app.route('/edit_player/<int:player_id>', methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@admin_required
|
||||
def edit_player(player_id):
|
||||
@@ -385,7 +397,9 @@ def edit_player(player_id):
|
||||
player.password = bcrypt.generate_password_hash(request.form['password']).decode('utf-8')
|
||||
db.session.commit()
|
||||
return redirect(url_for('player_page', player_id=player.id))
|
||||
return render_template('edit_player.html', player=player)
|
||||
|
||||
return_url = request.args.get('return_url', url_for('player_page', player_id=player.id))
|
||||
return render_template('edit_player.html', player=player, return_url=return_url)
|
||||
|
||||
@app.route('/change_theme', methods=['POST'])
|
||||
@login_required
|
||||
@@ -396,6 +410,42 @@ def change_theme():
|
||||
db.session.commit()
|
||||
return redirect(url_for('admin'))
|
||||
|
||||
@app.route('/upload_logo', methods=['POST'])
|
||||
@login_required
|
||||
@admin_required
|
||||
def upload_logo():
|
||||
if 'logo' not in request.files:
|
||||
return redirect(url_for('admin'))
|
||||
|
||||
file = request.files['logo']
|
||||
if file.filename == '':
|
||||
return redirect(url_for('admin'))
|
||||
|
||||
if file:
|
||||
filename = secure_filename(file.filename)
|
||||
file_path = os.path.join(app.config['UPLOAD_FOLDER'], 'logo.png')
|
||||
file.save(file_path)
|
||||
return redirect(url_for('admin'))
|
||||
|
||||
@app.route('/upload_personalization_pictures', methods=['POST'])
|
||||
@login_required
|
||||
@admin_required
|
||||
def upload_personalization_pictures():
|
||||
logo_file = request.files.get('logo')
|
||||
login_picture_file = request.files.get('login_picture')
|
||||
|
||||
if logo_file and logo_file.filename != '':
|
||||
logo_filename = secure_filename(logo_file.filename)
|
||||
logo_file_path = os.path.join(app.config['UPLOAD_FOLDER'], 'logo.png')
|
||||
logo_file.save(logo_file_path)
|
||||
|
||||
if login_picture_file and login_picture_file.filename != '':
|
||||
login_picture_filename = secure_filename(login_picture_file.filename)
|
||||
login_picture_file_path = os.path.join(app.config['UPLOAD_FOLDER'], 'login_picture.png')
|
||||
login_picture_file.save(login_picture_file_path)
|
||||
|
||||
return redirect(url_for('admin'))
|
||||
|
||||
@app.context_processor
|
||||
def inject_theme():
|
||||
if current_user.is_authenticated:
|
||||
|
||||
Reference in New Issue
Block a user