From 5c64529e77f150f8b83930f17e792b2cb8e38a87 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Thu, 29 Feb 2024 21:10:43 +0200 Subject: Add whole day mode, various improvements --- app.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'app.py') diff --git a/app.py b/app.py index 3cf9e71..f9e3b03 100644 --- a/app.py +++ b/app.py @@ -37,7 +37,7 @@ def validation_error(message: str): return render_template("error.html.j2", error=message), 400 @app.route("/") -def hello_world(): +def index(): created_poll_codes = [] for k, _ in request.cookies.items(): if k.startswith("diddle_manage_code_"): @@ -71,6 +71,7 @@ def create(): form["description"], form["author_name"], form["author_email"], + "is_whole_day" in form, choices, ) @@ -177,6 +178,7 @@ def update_poll_info(code): form["description"], form["author_name"], form["author_email"], + "is_whole_day" in form, ) return redirect(f"/manage/{code}") @@ -188,16 +190,24 @@ def add_choice(code): return validation_error("Start datetime is required") if "end_datetime" not in form or len(form["end_datetime"]) == 0: return validation_error("End datetime is required") - if form["start_datetime"] >= form["end_datetime"]: + if form["start_datetime"] > form["end_datetime"]: return validation_error("Start datetime must be before end datetime") + start_datetime = form["start_datetime"] + if len(start_datetime) == 10: + start_datetime += "T00:00" + + end_datetime = form["end_datetime"] + if len(end_datetime) == 10: + end_datetime += "T23:59" + db.add_choice_to_poll( code, - form["start_datetime"], - form["end_datetime"], + start_datetime, + end_datetime, ) - return redirect(f"/manage/{code}") + return redirect(f"/manage/{code}?focus_next=1") @app.post("/manage//delete_choice/") def delete_choice(code, choice_id): @@ -207,7 +217,7 @@ def delete_choice(code, choice_id): db.delete_choice(choice_id) - return redirect(f"/manage/{code}") + return redirect(f"/manage/{code}?focus_next=1") @app.get("/manage/") def manage(code): -- cgit v1.3