forked from CGM_Public/pretix_original
OrderChangeManager: Respect addons on cancellation check (Z#23193427) (#5132)
* OrderChangeManager: Respect addons on cancellation check (Z#23193427) * Update src/tests/base/test_orders.py Co-authored-by: luelista <weller@rami.io> --------- Co-authored-by: luelista <weller@rami.io>
This commit is contained in:
@@ -2768,7 +2768,11 @@ class OrderChangeManager:
|
||||
|
||||
def _check_complete_cancel(self):
|
||||
current = self.order.positions.count()
|
||||
cancels = len([o for o in self._operations if isinstance(o, (self.CancelOperation, self.SplitOperation))])
|
||||
cancels = sum([
|
||||
1 + o.position.addons.count() for o in self._operations if isinstance(o, self.CancelOperation)
|
||||
]) + len([
|
||||
o for o in self._operations if isinstance(o, self.SplitOperation)
|
||||
])
|
||||
adds = len([o for o in self._operations if isinstance(o, self.AddOperation)])
|
||||
if current > 0 and current - cancels + adds < 1:
|
||||
raise OrderError(self.error_messages['complete_cancel'])
|
||||
|
||||
Reference in New Issue
Block a user