mirror of
https://github.com/simon987/od-database.git
synced 2025-12-13 23:09:01 +00:00
Basic admin page
This commit is contained in:
38
app.py
38
app.py
@@ -1,4 +1,4 @@
|
||||
from flask import Flask, render_template, redirect, request, flash, abort, Response, send_from_directory
|
||||
from flask import Flask, render_template, redirect, request, flash, abort, Response, send_from_directory, session
|
||||
import os
|
||||
import json
|
||||
import time
|
||||
@@ -192,6 +192,42 @@ def enqueue():
|
||||
return redirect("/submit")
|
||||
|
||||
|
||||
@app.route("/admin")
|
||||
def admin_login_form():
|
||||
if "username" in session:
|
||||
return redirect("/dashboard")
|
||||
return render_template("admin.html", recaptcha=recaptcha)
|
||||
|
||||
|
||||
@app.route("/login", methods=["POST"])
|
||||
def admin_login():
|
||||
|
||||
if recaptcha.verify():
|
||||
|
||||
username = request.form.get("username")
|
||||
password = request.form.get("password")
|
||||
|
||||
if db.check_login(username, password):
|
||||
session["username"] = username
|
||||
flash("Logged in", "success")
|
||||
return redirect("/dashboard")
|
||||
|
||||
flash("Invalid username/password combo", "danger")
|
||||
return redirect("/admin")
|
||||
|
||||
else:
|
||||
flash("Invalid captcha", "danger")
|
||||
return redirect("/admin")
|
||||
|
||||
|
||||
@app.route("/dashboard")
|
||||
def admin_dashboard():
|
||||
if "username" in session:
|
||||
return render_template("dashboard.html")
|
||||
else:
|
||||
return abort(403)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if config.USE_SSL:
|
||||
context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
|
||||
|
||||
Reference in New Issue
Block a user