from flask import flash, redirect, render_template, request, url_for from flask_security import auth_required, current_user, roles_accepted, roles_required from . import app from .dependent_funs import setUserActiveSemester, userActiveSemester @app.context_processor def util_processor(): return dict(userActiveSemester=userActiveSemester, current_user=current_user) @app.route("/") def index(): if current_user.has_role("admin"): return redirect(url_for("index") + "admin") elif current_user.has_role("assistant"): return redirect(url_for("index") + "assistant") else: return redirect(url_for("security.login")) @app.route("/set_semester") @auth_required() def set_semester(): try: semesterId = int(request.args.get("semester_id")) except Exception as ex: flash(str(ex), "error") else: setUserActiveSemester(semesterId) red = request.referrer or url_for("index") return redirect(red) @app.route("/admin/docs") @roles_required("admin") def admin_docs(): return render_template("docs/admin.html") @app.route("/assistant/docs") @roles_accepted("admin", "assistant") def assistant_docs(): return render_template("docs/assistant.html")