forked from CGM_Public/pretix_original
Delete add-ons explicitly
This commit is contained in:
@@ -1024,6 +1024,7 @@ class OrderChangeManager:
|
|||||||
'addon_to': opa.addon_to_id,
|
'addon_to': opa.addon_to_id,
|
||||||
'old_price': opa.price,
|
'old_price': opa.price,
|
||||||
})
|
})
|
||||||
|
opa.delete()
|
||||||
self.order.log_action('pretix.event.order.changed.cancel', user=self.user, auth=self.auth, data={
|
self.order.log_action('pretix.event.order.changed.cancel', user=self.user, auth=self.auth, data={
|
||||||
'position': op.position.pk,
|
'position': op.position.pk,
|
||||||
'positionid': op.position.positionid,
|
'positionid': op.position.positionid,
|
||||||
|
|||||||
@@ -1679,6 +1679,20 @@ class CartAddonTest(CartTestMixin, TestCase):
|
|||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
|
||||||
|
def test_remove_with_addons(self):
|
||||||
|
cp1 = CartPosition.objects.create(
|
||||||
|
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
|
||||||
|
event=self.event, cart_id=self.session_key
|
||||||
|
)
|
||||||
|
cp2 = CartPosition.objects.create(
|
||||||
|
expires=now() + timedelta(minutes=10), item=self.workshop1, price=Decimal('12.00'),
|
||||||
|
event=self.event, cart_id=self.session_key, addon_to=cp1
|
||||||
|
)
|
||||||
|
self.cm.remove_item(cp1.pk)
|
||||||
|
self.cm.commit()
|
||||||
|
assert not CartPosition.objects.filter(pk=cp1.pk).exists()
|
||||||
|
assert not CartPosition.objects.filter(pk=cp2.pk).exists()
|
||||||
|
|
||||||
def test_remove_addons(self):
|
def test_remove_addons(self):
|
||||||
cp1 = CartPosition.objects.create(
|
cp1 = CartPosition.objects.create(
|
||||||
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
|
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
|
||||||
|
|||||||
Reference in New Issue
Block a user