diff --git a/src/pretix/control/forms/item.py b/src/pretix/control/forms/item.py index fb53bf8bc1..4d88fd309f 100644 --- a/src/pretix/control/forms/item.py +++ b/src/pretix/control/forms/item.py @@ -1,3 +1,5 @@ +from decimal import Decimal + from django import forms from django.core.exceptions import ValidationError from django.db.models import Max @@ -687,6 +689,10 @@ class ItemBundleForm(I18nModelForm): def clean(self): d = super().clean() + if not self.cleaned_data['designated_price']: + d['designated_price'] = Decimal('0.00') + self.instance.designated_price = Decimal('0.00') + if 'itemvar' in self.cleaned_data: if '-' in self.cleaned_data['itemvar']: itemid, varid = self.cleaned_data['itemvar'].split('-') diff --git a/src/tests/control/test_items.py b/src/tests/control/test_items.py index 1d5d2289e9..7b645c5031 100644 --- a/src/tests/control/test_items.py +++ b/src/tests/control/test_items.py @@ -500,12 +500,13 @@ class ItemsTest(ItemFormTest): 'bundles-0-id': '', 'bundles-0-itemvar': str(self.item1.pk), 'bundles-0-count': '2', - 'bundles-0-designated_price': '2.00', + 'bundles-0-designated_price': '', }) self.client.post('/control/event/%s/%s/items/%d/' % (self.orga1.slug, self.event1.slug, self.item2.id), d) with scopes_disabled(): assert self.item2.bundles.exists() assert self.item2.bundles.first().bundled_item == self.item1 + assert self.item2.bundles.first().designated_price == Decimal('0.000') d.update({ 'bundles-TOTAL_FORMS': '1', 'bundles-INITIAL_FORMS': '1',