diff --git a/program/views.py b/program/views.py index a47f5cb13cc52e5b54b0c3431acc527af487a110..831f1b5af81413a3c944675e080e58f01fe62ca2 100644 --- a/program/views.py +++ b/program/views.py @@ -577,10 +577,14 @@ class APIUserViewSet( else: return User.objects.filter(pk=user.id) + def get_serializer_context(self): + context = super().get_serializer_context() + context.update({"request": self.request}) + + return context + def create(self, request, *args, **kwargs): serializer = UserSerializer( - # FIXME: the method get_serializer_context should be used but it does seem to get lost - context={"request": request}, # the serializer needs the request in the context data=request.data, ) @@ -710,10 +714,14 @@ class APIShowViewSet(viewsets.ModelViewSet): self.check_object_permissions(self.request, obj) return obj + def get_serializer_context(self): + context = super().get_serializer_context() + context.update({"request": self.request}) + + return context + def create(self, request, *args, **kwargs): serializer = ShowSerializer( - # FIXME: the method get_serializer_context should be used but it does seem to get lost - context={"request": request}, # the serializer needs the request in the context data=request.data, ) @@ -733,8 +741,6 @@ class APIShowViewSet(viewsets.ModelViewSet): partial = kwargs.get("partial", False) show = self.get_object() serializer = ShowSerializer( - # FIXME: the method get_serializer_context should be used but it does seem to get lost - context={"request": request}, # the serializer needs the request in the context data=request.data, instance=show, partial=partial, @@ -1329,6 +1335,12 @@ class APITimeSlotViewSet( queryset = TimeSlot.objects.all().order_by("-start") serializer_class = TimeSlotSerializer + def get_serializer_context(self): + context = super().get_serializer_context() + context.update({"request": self.request}) + + return context + def update(self, request, *args, **kwargs): show_pk = get_values(self.kwargs, "show_pk") timeslot = self.get_object() @@ -1482,10 +1494,14 @@ class APIProfileViewSet(ActiveFilterMixin, viewsets.ModelViewSet): filter_backends = [drf_filters.SearchFilter] search_fields = ["name", "email"] + def get_serializer_context(self): + context = super().get_serializer_context() + context.update({"request": self.request}) + + return context + def create(self, request, *args, **kwargs): serializer = ProfileSerializer( - # FIXME: the method get_serializer_context should be used but it does seem to get lost - context={"request": request}, # the serializer needs the request in the context data=request.data, ) if serializer.is_valid(raise_exception=True): @@ -1497,8 +1513,6 @@ class APIProfileViewSet(ActiveFilterMixin, viewsets.ModelViewSet): profile = self.get_object() serializer = ProfileSerializer( - # FIXME: the method get_serializer_context should be used but it does seem to get lost - context={"request": request}, # the serializer needs the request in the context data=request.data, instance=profile, partial=partial,