Subevent bulk creation: Resolve AmbiguousTimeError by preferring non-dst time

This commit is contained in:
Raphael Michel
2021-08-16 10:51:41 +02:00
parent 3c64733e93
commit c10c6ee28d
2 changed files with 71 additions and 4 deletions

View File

@@ -845,18 +845,18 @@ class SubEventBulkCreate(SubEventEditorMixin, EventPermissionRequiredMixin, Asyn
for t in self.get_times():
se = copy.copy(form.instance)
se.date_from = make_aware(datetime.combine(rdate, t['time_from']), tz)
se.date_from = make_aware(datetime.combine(rdate, t['time_from']), tz, is_dst=False)
if t.get('time_to'):
se.date_to = (
make_aware(datetime.combine(rdate, t['time_to']), tz)
make_aware(datetime.combine(rdate, t['time_to']), tz, is_dst=False)
if t.get('time_to') > t.get('time_from')
else make_aware(datetime.combine(rdate + timedelta(days=1), t['time_to']), tz)
else make_aware(datetime.combine(rdate + timedelta(days=1), t['time_to']), tz, is_dst=False)
)
else:
se.date_to = None
se.date_admission = (
make_aware(datetime.combine(rdate, t['time_admission']), tz)
make_aware(datetime.combine(rdate, t['time_admission'].replace(fold=1)), tz, is_dst=False)
if t.get('time_admission')
else None
)