Solve cart deletion issues once and for all

This commit is contained in:
Raphael Michel
2019-04-04 09:57:57 +02:00
parent 2810e2a760
commit b931d27486
7 changed files with 13 additions and 1 deletions
+2
View File
@@ -272,6 +272,8 @@ class SubEventViewSet(ConditionalListView, viewsets.ModelViewSet):
auth=self.request.auth,
data=self.request.data
)
instance.cartposition_set.filter(addon_to__isnull=False).delete()
instance.cartposition_set.all().delete()
super().perform_destroy(instance)
except ProtectedError:
raise PermissionDenied('The sub-event could not be deleted as some constraints (e.g. data created by '
+1
View File
@@ -84,6 +84,7 @@ class ItemViewSet(ConditionalListView, viewsets.ModelViewSet):
user=self.request.user,
auth=self.request.auth,
)
self.get_object().cartposition_set.filter(addon_to__isnull=False).delete()
self.get_object().cartposition_set.all().delete()
super().perform_destroy(instance)
+4 -1
View File
@@ -111,7 +111,10 @@ class VoucherViewSet(viewsets.ModelViewSet):
user=self.request.user,
auth=self.request.auth,
)
super().perform_destroy(instance)
with transaction.atomic():
instance.cartposition_set.filter(addon_to__isnull=False).delete()
instance.cartposition_set.all().delete()
super().perform_destroy(instance)
@list_route(methods=['POST'])
def batch_create(self, request, *args, **kwargs):