From c9f5a37e1fa3b6b5ff9db7d0f585c8cf934fb632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Wed, 13 Aug 2025 14:56:34 +0200 Subject: [PATCH] zmiana month na m i poprawka w kolorach paginaci --- app.py | 27 ++++++++++++++++++++++++--- templates/main.html | 7 +++++-- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index 7b023bd..1d0c600 100644 --- a/app.py +++ b/app.py @@ -1267,17 +1267,38 @@ def favicon(): @app.route("/") def main_page(): now = datetime.now(timezone.utc) - month_str = request.args.get("month") or now.strftime("%Y-%m") + + month_param = request.args.get("month", None) # surowy parametr z URL start = end = None - if month_str: + if month_param in (None, ""): + # brak wyboru -> domyślnie aktualny miesiąc + month_str = now.strftime("%Y-%m") + start = datetime(now.year, now.month, 1, tzinfo=timezone.utc) + end = (start + timedelta(days=31)).replace(day=1) + + elif month_param == "all": + month_str = "all" + start = end = None + + else: + month_str = month_param try: year, month = map(int, month_str.split("-")) start = datetime(year, month, 1, tzinfo=timezone.utc) end = (start + timedelta(days=31)).replace(day=1) - except: + except ValueError: start = end = None + # dalej normalnie używasz date_filter: + def date_filter(query): + if start and end: + query = query.filter( + ShoppingList.created_at >= start, + ShoppingList.created_at < end + ) + return query + def date_filter(query): if start and end: query = query.filter( diff --git a/templates/main.html b/templates/main.html index 12193a4..b1dc50c 100644 --- a/templates/main.html +++ b/templates/main.html @@ -47,7 +47,9 @@ {{ month_names[month|int - 1] }} {{ year }} {% endfor %} - + @@ -235,7 +237,8 @@ {{ month_names[month|int - 1] }} {{ year }} {% endfor %} - + 📋 Wyświetl wszystkie