one loop less

This commit is contained in:
Mira Weller
2024-10-09 12:13:11 +02:00
parent a314d219b8
commit f9ca9a781e

View File

@@ -54,23 +54,24 @@ class CrossSellingService:
def get_data(self):
if self.event.has_subevents:
subevents = set(pos.subevent for pos in self.cartpositions)
result = [
result = (
(DummyCategory(category, subevent),
self._prepare_items(subevent, items_qs, discount_info),
f'subevent_{subevent.pk}_')
for subevent in subevents
for (category, items_qs, discount_info) in self._applicable_categories(subevent.pk)
]
)
else:
result = [
result = (
(category,
self._prepare_items(None, items_qs, discount_info),
'')
for (category, items_qs, discount_info) in self._applicable_categories(0)
]
)
result = [(category, items, form_prefix) for (category, items, form_prefix) in result if len(items) > 0]
for category, items, form_prefix in result:
category.category_has_discount = any(item.original_price for item in items)
return [(category, items, form_prefix) for (category, items, form_prefix) in result if len(items) > 0]
return result
def _applicable_categories(self, subevent_id):
return [