mirror of
https://github.com/pretix/pretix.git
synced 2026-05-09 15:54:03 +00:00
Payment list export: Allow to filter by payment/refund state
This commit is contained in:
@@ -437,10 +437,21 @@ class PaymentListExporter(ListExporter):
|
|||||||
def additional_form_fields(self):
|
def additional_form_fields(self):
|
||||||
return OrderedDict(
|
return OrderedDict(
|
||||||
[
|
[
|
||||||
('successful_only',
|
('payment_states',
|
||||||
forms.BooleanField(
|
forms.MultipleChoiceField(
|
||||||
label=_('Only successful payments'),
|
label=_('Payment states'),
|
||||||
initial=True,
|
choices=OrderPayment.PAYMENT_STATES,
|
||||||
|
initial=[OrderPayment.PAYMENT_STATE_CONFIRMED, OrderPayment.PAYMENT_STATE_REFUNDED],
|
||||||
|
required=False,
|
||||||
|
widget=forms.CheckboxSelectMultiple,
|
||||||
|
)),
|
||||||
|
('refund_states',
|
||||||
|
forms.MultipleChoiceField(
|
||||||
|
label=_('Refund states'),
|
||||||
|
choices=OrderRefund.REFUND_STATES,
|
||||||
|
initial=[OrderRefund.REFUND_STATE_DONE, OrderRefund.REFUND_STATE_CREATED,
|
||||||
|
OrderRefund.REFUND_STATE_TRANSIT],
|
||||||
|
widget=forms.CheckboxSelectMultiple,
|
||||||
required=False
|
required=False
|
||||||
)),
|
)),
|
||||||
]
|
]
|
||||||
@@ -456,19 +467,13 @@ class PaymentListExporter(ListExporter):
|
|||||||
|
|
||||||
payments = OrderPayment.objects.filter(
|
payments = OrderPayment.objects.filter(
|
||||||
order__event=self.event,
|
order__event=self.event,
|
||||||
|
state__in=form_data.get('payment_states', [])
|
||||||
).order_by('created')
|
).order_by('created')
|
||||||
refunds = OrderRefund.objects.filter(
|
refunds = OrderRefund.objects.filter(
|
||||||
order__event=self.event
|
order__event=self.event,
|
||||||
|
state__in=form_data.get('refund_states', [])
|
||||||
).order_by('created')
|
).order_by('created')
|
||||||
|
|
||||||
if form_data['successful_only']:
|
|
||||||
payments = payments.filter(
|
|
||||||
state__in=(OrderPayment.PAYMENT_STATE_CONFIRMED, OrderPayment.PAYMENT_STATE_REFUNDED),
|
|
||||||
)
|
|
||||||
refunds = refunds.filter(
|
|
||||||
state=OrderRefund.REFUND_STATE_DONE,
|
|
||||||
)
|
|
||||||
|
|
||||||
objs = sorted(list(payments) + list(refunds), key=lambda o: o.created)
|
objs = sorted(list(payments) + list(refunds), key=lambda o: o.created)
|
||||||
|
|
||||||
headers = [
|
headers = [
|
||||||
|
|||||||
Reference in New Issue
Block a user