forked from CGM_Public/pretix_original
Self-service cancellation: Never suggest cancellation fee higher than order total
This commit is contained in:
@@ -541,7 +541,7 @@ class Order(LockModel, LoggedModel):
|
||||
fee += self.event.settings.cancel_allow_user_paid_keep_percentage / Decimal('100.0') * (self.total - fee)
|
||||
if self.event.settings.cancel_allow_user_paid_keep:
|
||||
fee += self.event.settings.cancel_allow_user_paid_keep
|
||||
return round_decimal(fee, self.event.currency)
|
||||
return round_decimal(min(fee, self.total), self.event.currency)
|
||||
|
||||
@property
|
||||
@scopes_disabled()
|
||||
|
||||
@@ -1417,6 +1417,10 @@ class OrderTestCase(BaseQuotaTestCase):
|
||||
self.order = Order.objects.get(pk=self.order.pk)
|
||||
assert self.order.user_cancel_fee == Decimal('9.10')
|
||||
|
||||
self.event.settings.cancel_allow_user_paid_keep = Decimal('100.00')
|
||||
self.order = Order.objects.get(pk=self.order.pk)
|
||||
assert self.order.user_cancel_fee == Decimal('48.00')
|
||||
|
||||
@classscope(attr='o')
|
||||
def test_paid_order_underpaid(self):
|
||||
self.order.status = Order.STATUS_PAID
|
||||
|
||||
Reference in New Issue
Block a user