diff --git a/src/pretix/plugins/banktransfer/csvimport.py b/src/pretix/plugins/banktransfer/csvimport.py index 611083844f..1501ca2764 100644 --- a/src/pretix/plugins/banktransfer/csvimport.py +++ b/src/pretix/plugins/banktransfer/csvimport.py @@ -28,8 +28,7 @@ def parse(data, hint): resrow['amount'] = re.sub('[^0-9,+.-]', '', resrow['amount']) if hint.get('date') is not None: resrow['date'] = row[int(hint.get('date'))].strip() - if len(resrow['amount']) == 0 or 'amount' not in resrow \ - or len(resrow['reference']) == 0 or resrow['date'] == '': + if len(resrow['amount']) == 0 or 'amount' not in resrow or resrow['date'] == '': # This is probably a headline or something other special. continue if resrow['reference'] or resrow['payer']: diff --git a/src/tests/plugins/banktransfer/test_import.py b/src/tests/plugins/banktransfer/test_import.py index 6ab59d94c9..71734c7d72 100644 --- a/src/tests/plugins/banktransfer/test_import.py +++ b/src/tests/plugins/banktransfer/test_import.py @@ -11,7 +11,7 @@ from pretix.base.models import ( Event, Item, Order, OrderFee, OrderPayment, OrderPosition, Organizer, Quota, Team, User, ) -from pretix.plugins.banktransfer.models import BankImportJob +from pretix.plugins.banktransfer.models import BankImportJob, BankTransaction from pretix.plugins.banktransfer.tasks import process_banktransfers @@ -300,6 +300,19 @@ def test_wrong_event_organizer(env, orga_job): assert env[2].status == Order.STATUS_PENDING +@pytest.mark.django_db +def test_keep_unmatched(env, orga_job): + process_banktransfers(orga_job, [{ + 'payer': 'Karla Kundin', + 'reference': 'No useful reference', + 'date': '2016-01-26', + 'amount': '23.00' + }]) + job = BankImportJob.objects.last() + t = job.transactions.last() + assert t.state == BankTransaction.STATE_NOMATCH + + @pytest.mark.django_db def test_import_very_long_csv_file(client, env): client.login(email='dummy@dummy.dummy', password='dummy')