Use time_machine_now in more Order related checks and for Order.datetime

This commit is contained in:
Mira Weller
2024-04-30 21:49:58 +02:00
parent 648cc14ae0
commit d99bf7437a
+9 -9
View File
@@ -504,7 +504,7 @@ class Order(LockModel, LoggedModel):
if 'update_fields' in kwargs:
kwargs['update_fields'] = {'code'}.union(kwargs['update_fields'])
if not self.datetime:
self.datetime = now()
self.datetime = time_machine_now()
if 'update_fields' in kwargs:
kwargs['update_fields'] = {'datetime'}.union(kwargs['update_fields'])
if not self.expires:
@@ -682,7 +682,7 @@ class Order(LockModel, LoggedModel):
for op in positions:
if op.issued_gift_cards.all():
return False
if self.user_change_deadline and now() > self.user_change_deadline:
if self.user_change_deadline and time_machine_now() > self.user_change_deadline:
return False
return (
@@ -714,7 +714,7 @@ class Order(LockModel, LoggedModel):
return False
if op.granted_memberships.with_usages().filter(usages__gt=0):
return False
if self.user_cancel_deadline and now() > self.user_cancel_deadline:
if self.user_cancel_deadline and time_machine_now() > self.user_cancel_deadline:
return False
if self.status == Order.STATUS_PAID:
@@ -852,7 +852,7 @@ class Order(LockModel, LoggedModel):
return False
modify_deadline = self.modify_deadline
if modify_deadline is not None and now() > modify_deadline:
if modify_deadline is not None and time_machine_now() > modify_deadline:
return False
positions = list(
@@ -904,7 +904,7 @@ class Order(LockModel, LoggedModel):
return self.event.settings.ticket_download and (
self.event.settings.ticket_download_date is None
or self.ticket_download_date is None
or now() > self.ticket_download_date
or time_machine_now() > self.ticket_download_date
) and (
self.status == Order.STATUS_PAID
or (
@@ -976,7 +976,7 @@ class Order(LockModel, LoggedModel):
return error_messages['require_approval']
term_last = self.payment_term_last
if term_last and not ignore_date:
if now() > term_last:
if time_machine_now() > term_last:
return error_messages['late_lastdate']
if self.status == self.STATUS_PENDING:
@@ -999,7 +999,7 @@ class Order(LockModel, LoggedModel):
'voucher_budget': _('The voucher "{voucher}" no longer has sufficient budget.'),
'voucher_usages': _('The voucher "{voucher}" has been used in the meantime.'),
}
now_dt = now_dt or now()
now_dt = now_dt or time_machine_now()
positions = list(self.positions.all().select_related('item', 'variation', 'seat', 'voucher'))
quota_cache = {}
v_budget = {}
@@ -2536,9 +2536,9 @@ class OrderPosition(AbstractPosition):
if cartpos.item.validity_mode:
valid_from, valid_until = cartpos.item.compute_validity(
requested_start=(
max(cartpos.requested_valid_from, now())
max(cartpos.requested_valid_from, time_machine_now())
if cartpos.requested_valid_from and cartpos.item.validity_dynamic_start_choice
else now()
else time_machine_now()
),
enforce_start_limit=True,
override_tz=order.event.timezone,