コード例 #1
0
    def add_admin(course):
        email = request.form["email"]
        with connect_db() as db:
            check = db(
                "SELECT * FROM course_admins WHERE email=(%s) AND course=(%s)",
                [email, course],
            ).fetchone()
        if check:
            return error("User is already an admin"), 409
        with connect_db() as db:
            db(
                "INSERT INTO course_admins VALUES (%s, %s, %s, %s)",
                [email, "Unknown", course,
                 get_name()],
            )

        # make sure that you can't accidentally lock yourself out
        with connect_db() as db:
            check = db(
                "SELECT * FROM course_admins WHERE email=(%s) AND course=(%s)",
                [get_email(), course],
            ).fetchone()
            if not check:
                db(
                    "INSERT INTO course_admins VALUES (%s, %s, %s, %s)",
                    [get_email(), get_name(), course,
                     get_name()],
                )

        return redirect(url_for("index"))
コード例 #2
0
 def create_super_key():
     name = request.form["client_name"]
     key = gen_key()
     with connect_db() as db:
         ret = db("SELECT * FROM auth_keys WHERE client_name = (%s)",
                  [name]).fetchone()
         if ret:
             return "client_name already in use", 409
         ret = db("SELECT * FROM super_auth_keys WHERE client_name = (%s)",
                  [name]).fetchone()
         if ret:
             return "client_name already in use", 409
         db(
             "INSERT INTO super_auth_keys VALUES (%s, %s, %s, %s)",
             [name, key, get_name(), True],
         )
     return key
コード例 #3
0
 def create_key(course):
     name = request.form["client_name"]
     key = gen_key()
     with connect_db() as db:
         ret = db("SELECT * FROM auth_keys WHERE client_name = (%s)",
                  [name]).fetchone()
         if ret:
             return "client_name already in use", 409
         ret = db("SELECT * FROM super_auth_keys WHERE client_name = (%s)",
                  [name]).fetchone()
         if ret:
             return "client_name already in use", 409
         db(
             "INSERT INTO auth_keys VALUES (%s, %s, %s, %s, %s, %s)",
             [name, key, get_name(), course, "all", True],
         )
     return html(f"<pre>{key}</pre>")