From a3202ffc71194bb735c500313c05b1c81b19cd5e Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 25 May 2023 10:25:05 +0200 Subject: [PATCH] Voucher bulk creation: Fix vouchers being created in wrong order --- src/pretix/base/services/vouchers.py | 2 +- src/tests/control/test_vouchers.py | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/pretix/base/services/vouchers.py b/src/pretix/base/services/vouchers.py index 427d551378..bbbab61089 100644 --- a/src/pretix/base/services/vouchers.py +++ b/src/pretix/base/services/vouchers.py @@ -35,7 +35,7 @@ def vouchers_send(event: Event, vouchers: list, subject: str, message: str, reci for ir, r in enumerate(recipients): voucher_list = [] for i in range(r['number']): - voucher_list.append(vouchers.pop()) + voucher_list.append(vouchers.pop(0)) with language(event.settings.locale): email_context = get_email_context(event=event, name=r.get('name') or '', voucher_list=[v.code for v in voucher_list]) diff --git a/src/tests/control/test_vouchers.py b/src/tests/control/test_vouchers.py index a1c4ab1333..3b50017db0 100644 --- a/src/tests/control/test_vouchers.py +++ b/src/tests/control/test_vouchers.py @@ -521,13 +521,11 @@ class VoucherFormTest(SoupTestMixin, TransactionTestCase): 'send': 'on', 'send_subject': 'Your voucher', 'send_message': 'Voucher list: {voucher_list}', - 'send_recipients': 'foo@example.com\nfoo@example.net' + 'send_recipients': 'foo@example.com\nbar@example.net' }) assert len(djmail.outbox) == 2 - assert len([m for m in djmail.outbox if m.to == ['foo@example.com']]) == 1 - assert len([m for m in djmail.outbox if m.to == ['foo@example.net']]) == 1 - assert len([m for m in djmail.outbox if 'ABCDE' in m.body]) == 1 - assert len([m for m in djmail.outbox if 'DEFGH' in m.body]) == 1 + assert len([m for m in djmail.outbox if 'ABCDE' in m.body and m.to == ['foo@example.com']]) == 1 + assert len([m for m in djmail.outbox if 'DEFGH' in m.body and m.to == ['bar@example.net']]) == 1 def test_create_bulk_send_csv(self): self._create_bulk_vouchers({