mirror of
https://github.com/pretix/pretix.git
synced 2026-05-17 17:14:04 +00:00
add multi-op to export
This commit is contained in:
@@ -44,7 +44,9 @@ class ReusableMediaExporter(OrganizerLevelExportMixin, ListExporter):
|
|||||||
media = ReusableMedium.objects.filter(
|
media = ReusableMedium.objects.filter(
|
||||||
organizer=self.organizer,
|
organizer=self.organizer,
|
||||||
).select_related(
|
).select_related(
|
||||||
'customer', 'linked_orderposition', 'linked_giftcard',
|
'customer', 'linked_giftcard',
|
||||||
|
).prefetch_related(
|
||||||
|
Prefetch('linked_orderpositions', queryset=OrderPosition.objects.select_related("order"))
|
||||||
).order_by('created')
|
).order_by('created')
|
||||||
|
|
||||||
headers = [
|
headers = [
|
||||||
@@ -62,17 +64,28 @@ class ReusableMediaExporter(OrganizerLevelExportMixin, ListExporter):
|
|||||||
yield self.ProgressSetTotal(total=media.count())
|
yield self.ProgressSetTotal(total=media.count())
|
||||||
|
|
||||||
for medium in media.iterator(chunk_size=1000):
|
for medium in media.iterator(chunk_size=1000):
|
||||||
row = [
|
for op in medium.linked_orderpositions:
|
||||||
medium.type,
|
yield [
|
||||||
medium.identifier,
|
medium.type,
|
||||||
_('Yes') if medium.active else _('No'),
|
medium.identifier,
|
||||||
date_format(medium.expires, 'SHORT_DATETIME_FORMAT') if medium.expires else '',
|
_('Yes') if medium.active else _('No'),
|
||||||
medium.customer.identifier if medium.customer_id else '',
|
date_format(medium.expires, 'SHORT_DATETIME_FORMAT') if medium.expires else '',
|
||||||
f"{medium.linked_orderposition.order.code}-{medium.linked_orderposition.positionid}" if medium.linked_orderposition_id else '',
|
medium.customer.identifier if medium.customer_id else '',
|
||||||
medium.linked_giftcard.secret if medium.linked_giftcard_id else '',
|
f"{op.order.code}-{op.positionid}",
|
||||||
medium.notes,
|
medium.linked_giftcard.secret if medium.linked_giftcard_id else '',
|
||||||
]
|
medium.notes,
|
||||||
yield row
|
]
|
||||||
|
else:
|
||||||
|
yield [
|
||||||
|
medium.type,
|
||||||
|
medium.identifier,
|
||||||
|
_('Yes') if medium.active else _('No'),
|
||||||
|
date_format(medium.expires, 'SHORT_DATETIME_FORMAT') if medium.expires else '',
|
||||||
|
medium.customer.identifier if medium.customer_id else '',
|
||||||
|
'',
|
||||||
|
medium.linked_giftcard.secret if medium.linked_giftcard_id else '',
|
||||||
|
medium.notes,
|
||||||
|
]
|
||||||
|
|
||||||
def get_filename(self):
|
def get_filename(self):
|
||||||
return f'{self.organizer.slug}_media'
|
return f'{self.organizer.slug}_media'
|
||||||
|
|||||||
Reference in New Issue
Block a user