From 46e8097001aa29c27a5acce59f5c2ad83e850630 Mon Sep 17 00:00:00 2001 From: Frederick Yin Date: Sun, 24 Oct 2021 23:36:37 +0800 Subject: Separate admin routes to a blueprint Because modularity --- jimbrella/web.py | 54 +++--------------------------------------------------- 1 file changed, 3 insertions(+), 51 deletions(-) (limited to 'jimbrella/web.py') diff --git a/jimbrella/web.py b/jimbrella/web.py index 434de57..f9bc586 100644 --- a/jimbrella/web.py +++ b/jimbrella/web.py @@ -1,57 +1,9 @@ -from flask import Flask, request, render_template, redirect, url_for -from user_agents import parse as user_agent -from .database import Database +from flask import Flask +from .admin import bp as admin_bp from .config import * -db = Database(DATABASE_PATH) - app = Flask("jimbrella") - - -@app.route("/admin") -def admin_index(): - umbrellas = db.read() - statuses = Database.group_by_status(umbrellas) - return render_template( - "admin/index.html", - umbrellas=umbrellas, - available=statuses["available"], - lent=statuses["lent"], - overdue=statuses["overdue"], - mobile=user_agent(request.user_agent.string).is_mobile, - ) - - -@app.route("/admin/umbrellas") -def admin_umbrellas(): - umbrellas = db.read() - edit = request.args.get("edit") - return render_template( - "admin/umbrellas.html", - umbrellas=umbrellas, - edit=int(edit) if edit else None, - mobile=user_agent(request.user_agent.string).is_mobile, - ) - - -@app.route("/admin/umbrellas/edit", methods=["POST"]) -def admin_umbrellas_edit(): - data = {} - for key in [ - "serial", - "alias", - "status", - "tenant_name", - "tenant_id", - "tenant_phone", - "tenant_email", - "lent_at", - ]: - data[key] = request.form.get(key) - - db.update(data) - return redirect("/admin/umbrellas") - +app.register_blueprint(admin_bp) if __name__ == "__main__": app.run() -- cgit v1.2.3