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, db from .model_dependent_funs import active_semester_repr from .models import Semester @app.context_processor def util_processor(): author_email = "mo8it@proton.me" footer = f"

This website is still under development (beta release)! If you have any questions, find any bugs or want some feature, please write a formless email to Mo Bitar: {author_email}


" return dict(active_semester_repr=active_semester_repr, current_user=current_user, footer=footer) @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: semester = db.session.get(Semester, semesterId) current_user.setActiveSemester(semester) 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")