Compare commits

2 Commits

Author SHA1 Message Date
Mateusz Gruszczyński
824e5bde0d fix przy nie wybraniu kategorii 2025-09-02 17:06:45 +02:00
Mateusz Gruszczyński
e449bc26ac fix przy nie wybraniu kategorii 2025-09-02 17:04:36 +02:00

21
app.py
View File

@@ -443,10 +443,25 @@ def get_total_expense_for_list(list_id, start_date=None, end_date=None):
def update_list_categories_from_form(shopping_list, form):
category_ids = form.getlist("categories")
raw_vals = form.getlist("categories")
candidate_ids = set()
for v in raw_vals:
if not v:
continue
v = v.strip()
try:
candidate_ids.add(int(v))
continue
except ValueError:
pass
cat = Category.query.filter(func.lower(Category.name) == v.lower()).first()
if cat:
candidate_ids.add(cat.id)
shopping_list.categories.clear()
if category_ids:
cats = Category.query.filter(Category.id.in_(category_ids)).all()
if candidate_ids:
cats = Category.query.filter(Category.id.in_(candidate_ids)).all()
shopping_list.categories.extend(cats)