mirror of
https://github.com/pretix/pretix.git
synced 2026-05-06 15:24:02 +00:00
Localize date-based subevent search
This commit is contained in:
@@ -7,6 +7,7 @@ from django.db.models import Max, Min, Q
|
||||
from django.db.models.functions import Coalesce, Greatest
|
||||
from django.http import JsonResponse
|
||||
from django.urls import reverse
|
||||
from django.utils.formats import get_format
|
||||
from django.utils.timezone import make_aware
|
||||
from django.utils.translation import pgettext, ugettext as _
|
||||
|
||||
@@ -84,15 +85,18 @@ def subevent_select2(request, **kwargs):
|
||||
qf = Q(name__icontains=i18ncomp(query)) | Q(location__icontains=query)
|
||||
tz = request.event.timezone
|
||||
|
||||
try:
|
||||
dt = parse(query)
|
||||
except ValueError:
|
||||
pass
|
||||
else:
|
||||
if dt:
|
||||
dt_start = make_aware(datetime.combine(dt.date(), time(hour=0, minute=0, second=0)), tz)
|
||||
dt_end = make_aware(datetime.combine(dt.date(), time(hour=23, minute=59, second=59)), tz)
|
||||
qf |= Q(date_from__gte=dt_start) & Q(date_from__lte=dt_end)
|
||||
dt = None
|
||||
for f in get_format('DATE_INPUT_FORMATS'):
|
||||
try:
|
||||
dt = datetime.strptime(query, f)
|
||||
break
|
||||
except (ValueError, TypeError):
|
||||
continue
|
||||
|
||||
if dt:
|
||||
dt_start = make_aware(datetime.combine(dt.date(), time(hour=0, minute=0, second=0)), tz)
|
||||
dt_end = make_aware(datetime.combine(dt.date(), time(hour=23, minute=59, second=59)), tz)
|
||||
qf |= Q(date_from__gte=dt_start) & Q(date_from__lte=dt_end)
|
||||
|
||||
qs = request.event.subevents.filter(
|
||||
qf
|
||||
|
||||
Reference in New Issue
Block a user