Enable time machine for membership and ticket validity dates

This commit is contained in:
Mira Weller
2024-04-30 21:49:57 +02:00
parent 752137ad84
commit 67f09b5ede
2 changed files with 5 additions and 3 deletions
+3 -2
View File
@@ -85,6 +85,7 @@ from ...helpers import OF_SELF
from ...helpers.countries import CachedCountries, FastCountryField
from ...helpers.format import format_map
from ...helpers.names import build_name
from ...presale.timemachine import time_machine_now
from ...testutils.middleware import debugflags_var
from ._transactions import (
_fail, _transactions_mark_order_clean, _transactions_mark_order_dirty,
@@ -3063,9 +3064,9 @@ class CartPosition(AbstractPosition):
def predicted_validity(self):
return self.item.compute_validity(
requested_start=(
max(self.requested_valid_from, now())
max(self.requested_valid_from, time_machine_now())
if self.requested_valid_from and self.item.validity_dynamic_start_choice
else now()
else time_machine_now()
),
override_tz=self.event.timezone,
)
+2 -1
View File
@@ -33,6 +33,7 @@ from pretix.base.models import (
OrderPosition, SubEvent,
)
from pretix.helpers import OF_SELF
from pretix.presale.timemachine import time_machine_now
def membership_validity(item: Item, subevent: Optional[SubEvent], event: Event):
@@ -48,7 +49,7 @@ def membership_validity(item: Item, subevent: Optional[SubEvent], event: Event):
else:
# Always start at start of day
date_start = now().astimezone(tz).replace(hour=0, minute=0, second=0, microsecond=0)
date_start = time_machine_now().astimezone(tz).replace(hour=0, minute=0, second=0, microsecond=0)
date_end = date_start
if item.grant_membership_duration_months: