From 4ef183e2a940fe8307bb8121f7a4a54f05e9d273 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Tue, 15 Jul 2025 23:05:21 +0200 Subject: [PATCH] funckja niekupione --- alters.txt | 3 +++ app.py | 29 +++++++++++++++++++++++- templates/admin/edit_list.html | 41 +++++++++++++++++++++++++++++----- 3 files changed, 67 insertions(+), 6 deletions(-) diff --git a/alters.txt b/alters.txt index fffe528..28fe56e 100644 --- a/alters.txt +++ b/alters.txt @@ -31,3 +31,6 @@ ALTER TABLE item ADD COLUMN quantity INTEGER DEFAULT 1; #licznik najczesciej kupowanych reczy ALTER TABLE suggested_product ADD COLUMN usage_count INTEGER DEFAULT 0; +#funkcja niekupione +ALTER TABLE item ADD COLUMN not_purchased_reason TEXT; +ALTER TABLE item ADD COLUMN not_purchased BOOLEAN DEFAULT 0; diff --git a/app.py b/app.py index c9c34d2..cae872b 100644 --- a/app.py +++ b/app.py @@ -1186,7 +1186,33 @@ def edit_list(list_id): flash("Nie znaleziono produktu", "danger") return redirect(url_for("edit_list", list_id=list_id)) - # Przekazanie receipts do szablonu + elif action == "mark_not_purchased": + item_id = request.form.get("item_id") + item = Item.query.get(item_id) + if item and item.list_id == list_id: + item.not_purchased = True + item.purchased = False + item.purchased_at = None + db.session.commit() + flash("Oznaczono produkt jako niekupione", "success") + else: + flash("Nie znaleziono produktu", "danger") + return redirect(url_for("edit_list", list_id=list_id)) + + elif action == "unmark_not_purchased": + item_id = request.form.get("item_id") + item = Item.query.get(item_id) + if item and item.list_id == list_id: + item.not_purchased = False + item.not_purchased_reason = None + item.purchased = False + item.purchased_at = None + db.session.commit() + flash("Przywrócono produkt do listy", "success") + else: + flash("Nie znaleziono produktu", "danger") + return redirect(url_for("edit_list", list_id=list_id)) + return render_template( "admin/edit_list.html", list=l, @@ -1198,6 +1224,7 @@ def edit_list(list_id): ) + @app.route("/admin/products") @login_required @admin_required diff --git a/templates/admin/edit_list.html b/templates/admin/edit_list.html index 0159ef2..400a832 100644 --- a/templates/admin/edit_list.html +++ b/templates/admin/edit_list.html @@ -88,21 +88,52 @@ {% if item.purchased %} ✔️ Kupiony + {% elif item.not_purchased %} + ⚠️ Nie kupione {% else %} Nieoznaczony {% endif %} -
+ - {% if item.purchased %} - - {% else %} - + {% if not item.not_purchased %} + + + + {% if item.purchased %} + + {% else %} + + {% endif %} +
{% endif %} + +
+ + + +
+ + {% if item.not_purchased %} +
+ + + +
+ + {% if item.not_purchased_reason %} +
+ Powód: {{ item.not_purchased_reason }} +
+ {% endif %} + {% endif %} + + +