forked from CGM_Public/pretix_original
Bank transfer: Fix mismatch if the reference contains the code twice
This commit is contained in:
@@ -84,13 +84,13 @@ def _handle_transaction(trans: BankTransaction, matches: tuple, event: Event = N
|
||||
if event:
|
||||
for slug, code in matches:
|
||||
order = _find_order_for_code(event.orders, code)
|
||||
if order:
|
||||
if order and order.code not in {o.code for o in orders}:
|
||||
orders.append(order)
|
||||
else:
|
||||
qs = Order.objects.filter(event__organizer=organizer)
|
||||
for slug, code in matches:
|
||||
order = _find_order_for_code(qs.filter(event__slug__iexact=slug), code)
|
||||
if order:
|
||||
if order and order.code not in {o.code for o in orders}:
|
||||
orders.append(order)
|
||||
|
||||
if not orders:
|
||||
|
||||
@@ -260,6 +260,18 @@ def test_mark_paid_organizer(env, orga_job):
|
||||
assert env[2].status == Order.STATUS_PAID
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_mark_paid_double_reference(env, orga_job):
|
||||
process_banktransfers(orga_job, [{
|
||||
'payer': 'Karla Kundin',
|
||||
'reference': 'Bestellung DUMMY-1234S DUMMY-1234S',
|
||||
'date': '2016-01-26',
|
||||
'amount': '23.00'
|
||||
}])
|
||||
env[2].refresh_from_db()
|
||||
assert env[2].status == Order.STATUS_PAID
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_mark_paid_organizer_dash_in_slug(env, orga_job):
|
||||
env[0].slug = "foo-bar"
|
||||
|
||||
Reference in New Issue
Block a user