diff --git a/src/pretix/base/models/orders.py b/src/pretix/base/models/orders.py index 04d1352ffa..c553129cc7 100644 --- a/src/pretix/base/models/orders.py +++ b/src/pretix/base/models/orders.py @@ -250,7 +250,7 @@ class Order(LoggedModel): @property def is_expired_by_time(self): return ( - self.status == Order.STATUS_PENDING and self.expires < now() + self.status == Order.STATUS_PENDING and self.expires.date() < now().date() and not self.event.settings.get('payment_term_expire_automatically') ) diff --git a/src/pretix/base/services/orders.py b/src/pretix/base/services/orders.py index eceaf8acb7..2c12bef97c 100644 --- a/src/pretix/base/services/orders.py +++ b/src/pretix/base/services/orders.py @@ -355,7 +355,9 @@ def perform_order(event: str, payment_provider: str, positions: List[str], @receiver(signal=periodic_task) def expire_orders(sender, **kwargs): eventcache = {} - for o in Order.objects.filter(expires__lt=now(), status=Order.STATUS_PENDING).select_related('event'): + today = now().date() + + for o in Order.objects.filter(expires__lt=today, status=Order.STATUS_PENDING).select_related('event'): expire = eventcache.get(o.event.pk, None) if expire is None: expire = o.event.settings.get('payment_term_expire_automatically', as_type=bool) diff --git a/src/pretix/control/views/orders.py b/src/pretix/control/views/orders.py index 8fb0be92fd..d727f787ae 100644 --- a/src/pretix/control/views/orders.py +++ b/src/pretix/control/views/orders.py @@ -58,7 +58,7 @@ class OrderList(EventPermissionRequiredMixin, ListView): if self.request.GET.get("status", "") != "": s = self.request.GET.get("status", "") if s == 'o': - qs = qs.filter(status=Order.STATUS_PENDING, expires__lt=now()) + qs = qs.filter(status=Order.STATUS_PENDING, expires__lt=now().date()) else: qs = qs.filter(status=s) if self.request.GET.get("item", "") != "":