from flask import Blueprint, render_template, request from models import db from models import Group from flask_login import login_required, current_user groups_bp = Blueprint("groups", __name__) @groups_bp.route("/groups", methods=["GET", "POST"]) @login_required def groups(): if not current_user.is_admin: return "Forbidden", 403 error = "" if request.method == "POST": secret = request.form["secret"].strip() if not secret: error = "Group secret is required." elif Group.query.filter_by(secret=secret).first(): error = "That group already exists." else: group = Group(secret=secret) db.session.add(group) db.session.commit() return render_template("groups.html", groups=Group.query.order_by(Group.id).all(), error=error)