mirror of
https://github.com/pretix/pretix.git
synced 2026-05-07 15:34:02 +00:00
one loop less
This commit is contained in:
@@ -54,23 +54,24 @@ class CrossSellingService:
|
|||||||
def get_data(self):
|
def get_data(self):
|
||||||
if self.event.has_subevents:
|
if self.event.has_subevents:
|
||||||
subevents = set(pos.subevent for pos in self.cartpositions)
|
subevents = set(pos.subevent for pos in self.cartpositions)
|
||||||
result = [
|
result = (
|
||||||
(DummyCategory(category, subevent),
|
(DummyCategory(category, subevent),
|
||||||
self._prepare_items(subevent, items_qs, discount_info),
|
self._prepare_items(subevent, items_qs, discount_info),
|
||||||
f'subevent_{subevent.pk}_')
|
f'subevent_{subevent.pk}_')
|
||||||
for subevent in subevents
|
for subevent in subevents
|
||||||
for (category, items_qs, discount_info) in self._applicable_categories(subevent.pk)
|
for (category, items_qs, discount_info) in self._applicable_categories(subevent.pk)
|
||||||
]
|
)
|
||||||
else:
|
else:
|
||||||
result = [
|
result = (
|
||||||
(category,
|
(category,
|
||||||
self._prepare_items(None, items_qs, discount_info),
|
self._prepare_items(None, items_qs, discount_info),
|
||||||
'')
|
'')
|
||||||
for (category, items_qs, discount_info) in self._applicable_categories(0)
|
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:
|
for category, items, form_prefix in result:
|
||||||
category.category_has_discount = any(item.original_price for item in items)
|
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):
|
def _applicable_categories(self, subevent_id):
|
||||||
return [
|
return [
|
||||||
|
|||||||
Reference in New Issue
Block a user