Skip to content
Snippets Groups Projects
Verified Commit 0c720c07 authored by Ernesto Rico Schmidt's avatar Ernesto Rico Schmidt
Browse files

refactor: remove NestedObjectFinderMixin since it’s no longer used

parent b5f9c113
No related branches found
No related tags found
No related merge requests found
Pipeline #7799 passed
...@@ -24,7 +24,6 @@ from datetime import date, datetime, time ...@@ -24,7 +24,6 @@ from datetime import date, datetime, time
from typing import Dict, Optional, Tuple, Union from typing import Dict, Optional, Tuple, Union
import requests import requests
from rest_framework import exceptions
from django.conf import settings from django.conf import settings
from django.utils import timezone from django.utils import timezone
...@@ -126,22 +125,3 @@ def delete_links(instance: Union["Host", "Note", "Show"]) -> Union["Host", "Note ...@@ -126,22 +125,3 @@ def delete_links(instance: Union["Host", "Note", "Show"]) -> Union["Host", "Note
link.delete(keep_parents=True) link.delete(keep_parents=True)
return instance return instance
class NestedObjectFinderMixin:
ROUTE_FILTER_LOOKUPS = {}
def _get_route_filters(self) -> Dict[str, int]:
filter_kwargs = {}
for key, value in self.kwargs.items():
if key in self.ROUTE_FILTER_LOOKUPS:
try:
filter_kwargs[self.ROUTE_FILTER_LOOKUPS[key]] = int(value)
except ValueError:
raise exceptions.ValidationError(
detail=f"{key} must map to an integer value.", code="invalid-pk"
)
return filter_kwargs
def get_queryset(self):
return super().get_queryset().filter(**self._get_route_filters())
...@@ -80,7 +80,7 @@ from program.serializers import ( ...@@ -80,7 +80,7 @@ from program.serializers import (
UserSerializer, UserSerializer,
) )
from program.services import get_timerange_timeslots, resolve_conflicts from program.services import get_timerange_timeslots, resolve_conflicts
from program.utils import NestedObjectFinderMixin, get_values, parse_date from program.utils import get_values, parse_date
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
...@@ -514,14 +514,7 @@ class APIRRuleViewSet(viewsets.ModelViewSet): ...@@ -514,14 +514,7 @@ class APIRRuleViewSet(viewsets.ModelViewSet):
destroy=extend_schema(summary="Delete an existing schedule."), destroy=extend_schema(summary="Delete an existing schedule."),
list=extend_schema(summary="List all schedules."), list=extend_schema(summary="List all schedules."),
) )
class APIScheduleViewSet( class APIScheduleViewSet(viewsets.ModelViewSet):
NestedObjectFinderMixin,
viewsets.ModelViewSet,
):
ROUTE_FILTER_LOOKUPS = {
"show_pk": "show",
}
filterset_class = filters.ScheduleFilterSet filterset_class = filters.ScheduleFilterSet
pagination_class = LimitOffsetPagination pagination_class = LimitOffsetPagination
queryset = Schedule.objects.all() queryset = Schedule.objects.all()
...@@ -648,18 +641,12 @@ class APIScheduleViewSet( ...@@ -648,18 +641,12 @@ class APIScheduleViewSet(
), ),
) )
class APITimeSlotViewSet( class APITimeSlotViewSet(
NestedObjectFinderMixin,
mixins.RetrieveModelMixin, mixins.RetrieveModelMixin,
mixins.UpdateModelMixin, mixins.UpdateModelMixin,
mixins.DestroyModelMixin, mixins.DestroyModelMixin,
mixins.ListModelMixin, mixins.ListModelMixin,
viewsets.GenericViewSet, viewsets.GenericViewSet,
): ):
ROUTE_FILTER_LOOKUPS = {
"show_pk": "schedule__show",
"schedule_pk": "schedule",
}
filterset_class = filters.TimeSlotFilterSet filterset_class = filters.TimeSlotFilterSet
pagination_class = LimitOffsetPagination pagination_class = LimitOffsetPagination
queryset = TimeSlot.objects.all().order_by("-start") queryset = TimeSlot.objects.all().order_by("-start")
...@@ -696,15 +683,7 @@ class APITimeSlotViewSet( ...@@ -696,15 +683,7 @@ class APITimeSlotViewSet(
destroy=extend_schema(summary="Delete an existing note."), destroy=extend_schema(summary="Delete an existing note."),
list=extend_schema(summary="List all notes."), list=extend_schema(summary="List all notes."),
) )
class APINoteViewSet( class APINoteViewSet(viewsets.ModelViewSet):
NestedObjectFinderMixin,
viewsets.ModelViewSet,
):
ROUTE_FILTER_LOOKUPS = {
"show_pk": "timeslot__show",
"timeslot_pk": "timeslot",
}
filterset_class = filters.NoteFilterSet filterset_class = filters.NoteFilterSet
pagination_class = LimitOffsetPagination pagination_class = LimitOffsetPagination
serializer_class = NoteSerializer serializer_class = NoteSerializer
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment