Reformat ordering
This commit is contained in:
parent
8f6dd7e5c1
commit
525658f39b
8
apps/collection/filters.py
Normal file
8
apps/collection/filters.py
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
from rest_framework import filters
|
||||||
|
|
||||||
|
|
||||||
|
class CollectionBackOfficeOrderingFilter(filters.BaseFilterBackend):
|
||||||
|
""" Filter ordering """
|
||||||
|
|
||||||
|
def filter_queryset(self, request, queryset, view):
|
||||||
|
return queryset.order_by('rank', '-start')
|
||||||
|
|
@ -8,9 +8,5 @@ app_name = 'collection'
|
||||||
router = SimpleRouter()
|
router = SimpleRouter()
|
||||||
router.register(r'', views.CollectionBackOfficeViewSet)
|
router.register(r'', views.CollectionBackOfficeViewSet)
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = router.urls
|
||||||
path('<int:pk>/', views.CollectionBackOfficeView.as_view(), name='detail'),
|
|
||||||
]
|
|
||||||
|
|
||||||
urlpatterns += router.urls
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
from rest_framework import generics
|
|
||||||
from rest_framework import mixins
|
from rest_framework import mixins
|
||||||
from rest_framework import permissions
|
from rest_framework import permissions
|
||||||
from rest_framework import viewsets
|
from rest_framework import viewsets
|
||||||
from rest_framework.response import Response
|
|
||||||
|
|
||||||
|
from collection import filters
|
||||||
from collection import models
|
from collection import models
|
||||||
from collection.serializers import back as serializers
|
from collection.serializers import back as serializers
|
||||||
from utils.views import BindObjectMixin
|
from utils.views import BindObjectMixin
|
||||||
|
|
@ -28,6 +27,7 @@ class CollectionBackOfficeViewSet(mixins.CreateModelMixin,
|
||||||
|
|
||||||
permission_classes = (permissions.IsAuthenticated,)
|
permission_classes = (permissions.IsAuthenticated,)
|
||||||
queryset = models.Collection.objects.all()
|
queryset = models.Collection.objects.all()
|
||||||
|
filter_backends = [filters.CollectionBackOfficeOrderingFilter]
|
||||||
serializer_class = serializers.CollectionBackOfficeSerializer
|
serializer_class = serializers.CollectionBackOfficeSerializer
|
||||||
bind_object_serializer_class = serializers.CollectionBindObjectSerializer
|
bind_object_serializer_class = serializers.CollectionBindObjectSerializer
|
||||||
|
|
||||||
|
|
@ -50,17 +50,3 @@ class CollectionBackOfficeViewSet(mixins.CreateModelMixin,
|
||||||
collection.establishments.remove(related_object)
|
collection.establishments.remove(related_object)
|
||||||
elif obj_type == self.bind_object_serializer_class.PRODUCT:
|
elif obj_type == self.bind_object_serializer_class.PRODUCT:
|
||||||
collection.products.remove(related_object)
|
collection.products.remove(related_object)
|
||||||
|
|
||||||
def list(self, request, *args, **kwargs):
|
|
||||||
queryset = self.filter_queryset(self.get_queryset()).order_by('rank', '-start')
|
|
||||||
serializer = self.get_serializer(queryset, many=True)
|
|
||||||
return Response(serializer.data)
|
|
||||||
|
|
||||||
|
|
||||||
class CollectionBackOfficeView(generics.GenericAPIView):
|
|
||||||
"""ViewS for Collection model."""
|
|
||||||
|
|
||||||
pagination_class = None
|
|
||||||
permission_classes = (permissions.IsAuthenticated,)
|
|
||||||
queryset = models.Collection.objects.all()
|
|
||||||
serializer_class = serializers.CollectionBackOfficeSerializer
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user