from flask import render_template from ..models import User from ..tables import AdminUserTable, AdminUserItem from . import main from ..decorators import admin_required from flask_login import login_required @main.route('/') def index(): return render_template('main/index.html.j2', title='Portal') @main.route('/about') def about(): return render_template('main/about.html.j2', title='About') @main.route('/admin', methods=['GET', 'POST']) @login_required @admin_required def for_admins_only(): """ View for admin page only accesible by admins. """ users = User.query.order_by(User.username).all() items = [AdminUserItem(u.username, u.email, u.role_id, u.confirmed) for u in users] table = AdminUserTable(items) return render_template('main/admin.html.j2', title='Administration tools', table=table.__html__())