From 19cde635054d805d7af09f63c53cfa02f7ec28c8 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 4 Nov 2021 13:48:39 +0100 Subject: [PATCH] Fix incorrect setting if Invoice.full_invoice_no --- src/pretix/base/models/invoices.py | 1 + src/tests/base/test_invoices.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pretix/base/models/invoices.py b/src/pretix/base/models/invoices.py index 3cae1cb9a..836bccdf7 100644 --- a/src/pretix/base/models/invoices.py +++ b/src/pretix/base/models/invoices.py @@ -264,6 +264,7 @@ class Invoice(models.Model): self.invoice_no = self._get_invoice_number_from_order() try: with transaction.atomic(): + self.full_invoice_no = self.prefix + self.invoice_no return super().save(*args, **kwargs) except DatabaseError: # Suppress duplicate key errors and try again diff --git a/src/tests/base/test_invoices.py b/src/tests/base/test_invoices.py index 69a23bcf5..1cd9ae1a8 100644 --- a/src/tests/base/test_invoices.py +++ b/src/tests/base/test_invoices.py @@ -522,7 +522,9 @@ def test_invoice_number_prefixes(env): event2.settings.set('invoice_numbers_counter_length', 4) i = generate_invoice(order2) assert i.number == 'inv_0001' - assert generate_cancellation(i).number == 'crd_0001' + ci = generate_cancellation(i) + assert ci.number == 'crd_0001' + assert ci.full_invoice_no == 'crd_0001' event2.settings.set('invoice_numbers_consecutive', False) i = generate_invoice(order2)