diff --git a/src/pretix/control/views/typeahead.py b/src/pretix/control/views/typeahead.py index ac24881e0..017871ffd 100644 --- a/src/pretix/control/views/typeahead.py +++ b/src/pretix/control/views/typeahead.py @@ -156,7 +156,7 @@ def event_list(request): max_fromto=Greatest(Max('subevents__date_to'), Max('subevents__date_from')) ).annotate( order_from=Coalesce('min_from', 'date_from'), - ).order_by('-order_from') + ).order_by('-order_from', 'slug') total = qs.count() pagesize = 20 @@ -318,7 +318,7 @@ def nav_context_list(request): max_fromto=Greatest(Max('subevents__date_to'), Max('subevents__date_from')) ).annotate( order_from=Coalesce('min_from', 'date_from'), - ).order_by('-order_from') + ).order_by('-order_from', 'slug') if request.user.has_active_staff_session(request.session.session_key): qs_orga = Organizer.objects.all() diff --git a/src/pretix/presale/views/organizer.py b/src/pretix/presale/views/organizer.py index 12d4fa378..dcfb310e7 100644 --- a/src/pretix/presale/views/organizer.py +++ b/src/pretix/presale/views/organizer.py @@ -210,7 +210,7 @@ class EventListMixin: ) ).annotate( order_to=Coalesce('max_fromto', 'max_to', 'max_from', 'date_to', 'date_from'), - ).order_by('-order_to') + ).order_by('-order_to', 'name', 'slug') else: date_q = Q(date_to__gte=now()) | (Q(date_to__isnull=True) & Q(date_from__gte=now())) qs = qs.filter( @@ -219,7 +219,7 @@ class EventListMixin: ) ).annotate( order_from=Coalesce('min_from', 'date_from'), - ).order_by('order_from') + ).order_by('order_from', 'name', 'slug') qs = Event.annotated(filter_qs_by_attr( qs, self.request, match_subevents_with_conditions=Q(active=True) & Q(is_public=True) & date_q ), self.request.sales_channel) diff --git a/src/tests/api/test_order_change.py b/src/tests/api/test_order_change.py index ca271e123..f40fb520c 100644 --- a/src/tests/api/test_order_change.py +++ b/src/tests/api/test_order_change.py @@ -451,7 +451,7 @@ def test_order_create_invoice(token_client, organizer, event, order): "invoice_to_vat_id": "DE123", "invoice_to_beneficiary": "", "custom_field": None, - 'date': now().date().isoformat(), + 'date': now().astimezone(event.timezone).date().isoformat(), 'refers': None, 'locale': 'en', 'introductory_text': '',