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
from typing import Dict, Optional, Tuple, Union
import requests
from rest_framework import exceptions
from django.conf import settings
from django.utils import timezone
......@@ -126,22 +125,3 @@ def delete_links(instance: Union["Host", "Note", "Show"]) -> Union["Host", "Note
link.delete(keep_parents=True)
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 (
UserSerializer,
)
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__)
......@@ -514,14 +514,7 @@ class APIRRuleViewSet(viewsets.ModelViewSet):
destroy=extend_schema(summary="Delete an existing schedule."),
list=extend_schema(summary="List all schedules."),
)
class APIScheduleViewSet(
NestedObjectFinderMixin,
viewsets.ModelViewSet,
):
ROUTE_FILTER_LOOKUPS = {
"show_pk": "show",
}
class APIScheduleViewSet(viewsets.ModelViewSet):
filterset_class = filters.ScheduleFilterSet
pagination_class = LimitOffsetPagination
queryset = Schedule.objects.all()
......@@ -648,18 +641,12 @@ class APIScheduleViewSet(
),
)
class APITimeSlotViewSet(
NestedObjectFinderMixin,
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
mixins.DestroyModelMixin,
mixins.ListModelMixin,
viewsets.GenericViewSet,
):
ROUTE_FILTER_LOOKUPS = {
"show_pk": "schedule__show",
"schedule_pk": "schedule",
}
filterset_class = filters.TimeSlotFilterSet
pagination_class = LimitOffsetPagination
queryset = TimeSlot.objects.all().order_by("-start")
......@@ -696,15 +683,7 @@ class APITimeSlotViewSet(
destroy=extend_schema(summary="Delete an existing note."),
list=extend_schema(summary="List all notes."),
)
class APINoteViewSet(
NestedObjectFinderMixin,
viewsets.ModelViewSet,
):
ROUTE_FILTER_LOOKUPS = {
"show_pk": "timeslot__show",
"timeslot_pk": "timeslot",
}
class APINoteViewSet(viewsets.ModelViewSet):
filterset_class = filters.NoteFilterSet
pagination_class = LimitOffsetPagination
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