25 lines
740 B
Python
25 lines
740 B
Python
from flask import Blueprint, render_template, redirect, url_for
|
|||
|
|
from flask_login import login_required, current_user
|
||
|
|
from models import db
|
||
|
|
from models import User
|
||
|
|
|
||
|
|
admin_bp = Blueprint("admin", __name__, url_prefix="/admin")
|
||
|
|
|
||
|
|
@admin_bp.route("/")
|
||
|
|
@login_required
|
||
|
|
def dashboard():
|
||
|
|
if not current_user.is_admin:
|
||
|
|
return "Forbidden", 403
|
||
|
|
users = User.query.filter_by(is_approved=False).all()
|
||
|
|
return render_template("admin.html", users=users)
|
||
|
|
|
||
|
|
@admin_bp.route("/approve/<int:user_id>")
|
||
|
|
@login_required
|
||
|
|
def approve(user_id):
|
||
|
|
if not current_user.is_admin:
|
||
|
|
return "Forbidden", 403
|
||
|
|
user = User.query.get(user_id)
|
||
|
|
user.is_approved = True
|
||
|
|
db.session.commit()
|
||
|
|
return redirect(url_for("admin.dashboard"))
|