diff options
| author | Alban Gruin | 2019-09-01 20:42:47 +0200 | 
|---|---|---|
| committer | Alban Gruin | 2019-09-01 20:43:21 +0200 | 
| commit | 66abc2a86eee041154978bbba78c999ffe92d099 (patch) | |
| tree | 52eba2024c7edd168c944b487ce1407b940d6019 /api | |
| parent | 947632bbb0fb1a721bde549f0ca9bf8b8f281ca4 (diff) | |
api: remplacement des appels à detail_route par action
Signed-off-by: Alban Gruin <alban at pa1ch dot fr>
Diffstat (limited to 'api')
| -rw-r--r-- | api/views.py | 23 | 
1 files changed, 12 insertions, 11 deletions
diff --git a/api/views.py b/api/views.py index b7b69e3..2459455 100644 --- a/api/views.py +++ b/api/views.py @@ -20,7 +20,7 @@ from django.db.models.functions import ExtractWeek, ExtractYear  from django.utils import timezone  from rest_framework import viewsets -from rest_framework.decorators import action, detail_route +from rest_framework.decorators import action  from rest_framework.response import Response  from ..forms import QSJPSForm @@ -35,7 +35,7 @@ class YearViewSet(viewsets.ReadOnlyModelViewSet):      queryset = Year.objects.all().order_by("name")      serializer_class = YearSerializer -    @detail_route(methods=["get"], url_path="timetables") +    @action(detail=True, methods=["get"], url_path="timetables")      def timetable_list(self, request, pk):          year = self.get_object()          timetables = Timetable.objects.filter(year=year).distinct() \ @@ -49,7 +49,7 @@ class SourceViewSet(viewsets.ReadOnlyModelViewSet):      queryset = Source.objects.all().order_by("pk")      serializer_class = SourceSerializer -    @detail_route(methods=["get"], url_path="timetables") +    @action(detail=True, methods=["get"], url_path="timetables")      def timetable_list(self, request, pk):          source = self.get_object()          timetables = Timetable.objects.filter(source=source).distinct() \ @@ -64,7 +64,7 @@ class TimetableViewSet(viewsets.ReadOnlyModelViewSet):                                        .order_by("year", "name")      serializer_class = TimetableSerializer -    @detail_route(methods=["get"], url_path="groups") +    @action(detail=True, methods=["get"], url_path="groups")      def group_list(self, request, pk):          timetable = self.get_object()          groups = Group.objects.filter(source=timetable.source).distinct() \ @@ -75,7 +75,7 @@ class TimetableViewSet(viewsets.ReadOnlyModelViewSet):  class CourseListGroupSet(viewsets.ReadOnlyModelViewSet): -    @detail_route(methods=["get"], url_path="courses") +    @action(detail=True, methods=["get"], url_path="courses")      def course_list(self, request, pk):          obj = self.get_object()          courses = Course.objects.get_courses(obj).prefetch_related("groups") @@ -91,14 +91,15 @@ class CourseListGroupSet(viewsets.ReadOnlyModelViewSet):                                          many=True)          return self.get_paginated_response(courses_json.data) -    @detail_route(methods=["get"], url_path="courses/days/current") +    @action(detail=True, methods=["get"], url_path="courses/days/current")      def current_day(self, request, pk):          obj = self.get_object()          start = datetime.date.today()          end = start + datetime.timedelta(days=1)          return self.__get_courses(obj, start, end) -    @detail_route(methods=["get"], url_path="courses/days/(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)") +    @action(detail=True, methods=["get"], +            url_path="courses/days/(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)")      def other_day(self, request, pk, year, month, day):          obj = self.get_object() @@ -116,14 +117,14 @@ class CourseListGroupSet(viewsets.ReadOnlyModelViewSet):          end = start + datetime.timedelta(days=1)          return self.__get_courses(obj, start, end) -    @detail_route(methods=["get"], url_path="courses/weeks/current") +    @action(detail=True, methods=["get"], url_path="courses/weeks/current")      def current_week(self, request, pk):          obj = self.get_object()          start, end = get_week(*get_current_or_next_week())          return self.__get_courses(obj, start, end) -    @detail_route(methods=["get"], -                  url_path="courses/weeks/(?P<year>\d+)/(?P<week>\d+)") +    @action(detail=True, methods=["get"], +            url_path="courses/weeks/(?P<year>\d+)/(?P<week>\d+)")      def other_week(self, request, pk, year, week):          obj = self.get_object() @@ -142,7 +143,7 @@ class GroupViewSet(CourseListGroupSet):      queryset = Group.objects.all().order_by("name")      serializer_class = GroupSerializer -    @detail_route(methods=["get"], url_path="courses/weeks") +    @action(detail=True, methods=["get"], url_path="courses/weeks")      def weeks(self, request, pk):          group = self.get_object()          groups = Group.objects.get_parents(group)  | 
