mirror of
https://github.com/pretix/pretix.git
synced 2025-12-16 15:02:28 +00:00
Compare commits
4 Commits
sync-singl
...
badge-expo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7841cf1ce6 | ||
|
|
959e775c40 | ||
|
|
80403f2700 | ||
|
|
308e97f143 |
@@ -462,14 +462,28 @@ class BadgeExporter(BaseExporter):
|
|||||||
)),
|
)),
|
||||||
('date_from',
|
('date_from',
|
||||||
forms.DateField(
|
forms.DateField(
|
||||||
label=_('Start date'),
|
label=_('Start event date'),
|
||||||
widget=forms.DateInput(attrs={'class': 'datepickerfield'}),
|
widget=forms.DateInput(attrs={'class': 'datepickerfield'}),
|
||||||
required=False,
|
required=False,
|
||||||
help_text=_('Only include tickets for dates on or after this date.')
|
help_text=_('Only include tickets for dates on or after this date.')
|
||||||
)),
|
)),
|
||||||
('date_to',
|
('date_to',
|
||||||
forms.DateField(
|
forms.DateField(
|
||||||
label=_('End date'),
|
label=_('End event date'),
|
||||||
|
widget=forms.DateInput(attrs={'class': 'datepickerfield'}),
|
||||||
|
required=False,
|
||||||
|
help_text=_('Only include tickets ordered on or before this date.')
|
||||||
|
)),
|
||||||
|
('order_date_from',
|
||||||
|
forms.DateField(
|
||||||
|
label=_('Start order date'),
|
||||||
|
widget=forms.DateInput(attrs={'class': 'datepickerfield'}),
|
||||||
|
required=False,
|
||||||
|
help_text=_('Only include tickets ordered on or after this date.')
|
||||||
|
)),
|
||||||
|
('order_date_to',
|
||||||
|
forms.DateField(
|
||||||
|
label=_('End order date'),
|
||||||
widget=forms.DateInput(attrs={'class': 'datepickerfield'}),
|
widget=forms.DateInput(attrs={'class': 'datepickerfield'}),
|
||||||
required=False,
|
required=False,
|
||||||
help_text=_('Only include tickets for dates on or before this date.')
|
help_text=_('Only include tickets for dates on or before this date.')
|
||||||
@@ -481,6 +495,7 @@ class BadgeExporter(BaseExporter):
|
|||||||
('name', _('Attendee name')),
|
('name', _('Attendee name')),
|
||||||
('company', _('Attendee company')),
|
('company', _('Attendee company')),
|
||||||
('code', _('Order code')),
|
('code', _('Order code')),
|
||||||
|
('order_date', _('Order date')),
|
||||||
('date', _('Event date')),
|
('date', _('Event date')),
|
||||||
] + ([
|
] + ([
|
||||||
('name:{}'.format(k), _('Attendee name: {part}').format(part=label))
|
('name:{}'.format(k), _('Attendee name: {part}').format(part=label))
|
||||||
@@ -533,6 +548,24 @@ class BadgeExporter(BaseExporter):
|
|||||||
), self.event.timezone)
|
), self.event.timezone)
|
||||||
qs = qs.filter(Q(subevent__date_from__lt=dt) | Q(subevent__isnull=True, order__event__date_from__lt=dt))
|
qs = qs.filter(Q(subevent__date_from__lt=dt) | Q(subevent__isnull=True, order__event__date_from__lt=dt))
|
||||||
|
|
||||||
|
if form_data.get('order_date_from'):
|
||||||
|
if not isinstance(form_data.get('order_date_from'), date):
|
||||||
|
form_data['order_date_from'] = dateutil.parser.parse(form_data['order_date_from']).date()
|
||||||
|
df = make_aware(datetime.combine(
|
||||||
|
form_data['order_date_from'],
|
||||||
|
time(hour=0, minute=0, second=0)
|
||||||
|
), self.event.timezone)
|
||||||
|
qs = qs.filter(order__datetime__gte=df)
|
||||||
|
|
||||||
|
if form_data.get('order_date_to'):
|
||||||
|
if not isinstance(form_data.get('order_date_to'), date):
|
||||||
|
form_data['order_date_to'] = dateutil.parser.parse(form_data['order_date_to']).date()
|
||||||
|
dt = make_aware(datetime.combine(
|
||||||
|
form_data['order_date_to'] + timedelta(days=1),
|
||||||
|
time(hour=0, minute=0, second=0)
|
||||||
|
), self.event.timezone)
|
||||||
|
qs = qs.filter(order__datetime__lt=dt)
|
||||||
|
|
||||||
if form_data.get('order_by') == 'name':
|
if form_data.get('order_by') == 'name':
|
||||||
qs = qs.annotate(
|
qs = qs.annotate(
|
||||||
resolved_name=Case(
|
resolved_name=Case(
|
||||||
@@ -553,6 +586,8 @@ class BadgeExporter(BaseExporter):
|
|||||||
).order_by('resolved_company', 'order__code')
|
).order_by('resolved_company', 'order__code')
|
||||||
elif form_data.get('order_by') == 'code':
|
elif form_data.get('order_by') == 'code':
|
||||||
qs = qs.order_by('order__code')
|
qs = qs.order_by('order__code')
|
||||||
|
elif form_data.get('order_by') == 'order_date':
|
||||||
|
qs = qs.order_by('order__datetime')
|
||||||
elif form_data.get('order_by') == 'date':
|
elif form_data.get('order_by') == 'date':
|
||||||
qs = qs.annotate(ed=Coalesce('subevent__date_from', 'order__event__date_from')).order_by('ed', 'order__code')
|
qs = qs.annotate(ed=Coalesce('subevent__date_from', 'order__event__date_from')).order_by('ed', 'order__code')
|
||||||
elif form_data.get('order_by', '').startswith('name:'):
|
elif form_data.get('order_by', '').startswith('name:'):
|
||||||
|
|||||||
Reference in New Issue
Block a user