Missing timezone when timeslots are created via API (Dashboard)
Problem
Timeslots could not be created, because Dashboard doesn't pass a Timezone.
[14/Dec/2021 11:43:23] "POST /api/v1/shows/4/schedules/ HTTP/1.1" 200 451
[14/Dec/2021 11:43:23] "POST /api/v1/shows/4/schedules/ HTTP/1.1" 201 54
[14/Dec/2021 11:43:23] "GET /api/v1/timeslots/?start=2021-12-13&end=2021-12-20 HTTP/1.1" 200 2
[14/Dec/2021 11:43:24] "GET /openid/userinfo HTTP/1.1" 200 143
[14/Dec/2021 11:43:38] "GET /api/v1/playout HTTP/1.1" 200 2
/home/laura/venv-aura-python/lib/python3.9/site-packages/django/db/models/fields/__init__.py:1424: RuntimeWarning: DateTimeField TimeSlot.start received a naive datetime (2021-12-17 08:30:00) while time zone support is active.
warnings.warn("DateTimeField %s received a naive datetime (%s)"
/home/laura/venv-aura-python/lib/python3.9/site-packages/django/db/models/fields/__init__.py:1424: RuntimeWarning: DateTimeField TimeSlot.end received a naive datetime (2021-12-17 08:30:00) while time zone support is active.
warnings.warn("DateTimeField %s received a naive datetime (%s)"
/home/laura/venv-aura-python/lib/python3.9/site-packages/django/db/models/fields/__init__.py:1424: RuntimeWarning: DateTimeField TimeSlot.end received a naive datetime (2021-12-17 08:00:00) while time zone support is active.
warnings.warn("DateTimeField %s received a naive datetime (%s)"
/home/laura/venv-aura-python/lib/python3.9/site-packages/django/db/models/fields/__init__.py:1424: RuntimeWarning: DateTimeField TimeSlot.start received a naive datetime (2021-12-17 08:00:00) while time zone support is active.
warnings.warn("DateTimeField %s received a naive datetime (%s)"
[14/Dec/2021 11:43:39] "POST /api/v1/shows/4/schedules/ HTTP/1.1" 200 451
Internal Server Error: /api/v1/shows/4/schedules/
Traceback (most recent call last):
File "/home/laura/venv-aura-python/lib/python3.9/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/laura/venv-aura-python/lib/python3.9/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/laura/venv-aura-python/lib/python3.9/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/laura/venv-aura-python/lib/python3.9/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/home/laura/venv-aura-python/lib/python3.9/site-packages/rest_framework/viewsets.py", line 114, in view
return self.dispatch(request, *args, **kwargs)
File "/home/laura/venv-aura-python/lib/python3.9/site-packages/rest_framework/views.py", line 505, in dispatch
response = self.handle_exception(exc)
File "/home/laura/venv-aura-python/lib/python3.9/site-packages/rest_framework/views.py", line 465, in handle_exception
self.raise_uncaught_exception(exc)
File "/home/laura/venv-aura-python/lib/python3.9/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
raise exc
File "/home/laura/venv-aura-python/lib/python3.9/site-packages/rest_framework/views.py", line 502, in dispatch
response = handler(request, *args, **kwargs)
File "/home/laura/steering/program/views.py", line 446, in create
resolution = Schedule.resolve_conflicts(request.data, pk, show_pk)
File "/home/laura/steering/program/models.py", line 896, in resolve_conflicts
if datetime.strptime(ts['start'], "%Y-%m-%d %H:%M:%S") <= timezone.now():
TypeError: can't compare offset-naive and offset-aware datetimes
Solution
Already fixed by d9bf050b