@ -9,7 +9,7 @@ from rest_framework.viewsets import ModelViewSet
from drf_yasg import openapi
from drf_yasg import openapi
from drf_yasg.utils import swagger_auto_schema
from drf_yasg.utils import swagger_auto_schema
from apps.library.pagination import NoPagination
from apps.library.pagination import NoPagination
from utils.pagination import StandardResultsSetPagination
from utils.pagination import StandardResultsSetPagination , OptionalPagination
from utils.mixins import CanonicalSlugViewSetMixin , Gone410ViewMixin
from utils.mixins import CanonicalSlugViewSetMixin , Gone410ViewMixin
@ -279,13 +279,16 @@ class DovodiArticleCategoryViewSet(ModelViewSet):
serializer_class = DovodiArticleCategorySerializer
serializer_class = DovodiArticleCategorySerializer
permission_classes = [ IsAuthenticated ]
permission_classes = [ IsAuthenticated ]
authentication_classes = [ TokenAuthentication ]
authentication_classes = [ TokenAuthentication ]
pagination_class = None
pagination_class = OptionalPagination
def get_queryset ( self ) :
def get_queryset ( self ) :
queryset = ArticleCategory . objects . all ( ) . order_by ( " order " , " title " )
queryset = ArticleCategory . objects . all ( ) . order_by ( " -created_at " , " -id " )
search_query = self . request . query_params . get ( " search " )
search_query = self . request . query_params . get ( " search " )
if search_query :
if search_query :
queryset = queryset . filter ( Q ( title__icontains = search_query ) | Q ( slug__icontains = search_query ) )
queryset = queryset . filter ( Q ( title__icontains = search_query ) | Q ( slug__icontains = search_query ) )
status_filter = self . request . query_params . get ( " status " )
if status_filter in { " true " , " false " } :
queryset = queryset . filter ( status = status_filter == " true " )
return queryset
return queryset
@ -293,14 +296,17 @@ class DovodiArticleCollectionViewSet(ModelViewSet):
serializer_class = DovodiArticleCollectionSerializer
serializer_class = DovodiArticleCollectionSerializer
permission_classes = [ IsAuthenticated ]
permission_classes = [ IsAuthenticated ]
authentication_classes = [ TokenAuthentication ]
authentication_classes = [ TokenAuthentication ]
pagination_class = None
pagination_class = OptionalPagination
parser_classes = ( MultiPartParser , FormParser , JSONParser )
parser_classes = ( MultiPartParser , FormParser , JSONParser )
def get_queryset ( self ) :
def get_queryset ( self ) :
queryset = ArticleCollection . objects . all ( ) . order_by ( " display_position " , " order " , " title " )
queryset = ArticleCollection . objects . all ( ) . order_by ( " -created_at " , " -id " )
search_query = self . request . query_params . get ( " search " )
search_query = self . request . query_params . get ( " search " )
if search_query :
if search_query :
queryset = queryset . filter ( Q ( title__icontains = search_query ) | Q ( slug__icontains = search_query ) )
queryset = queryset . filter ( Q ( title__icontains = search_query ) | Q ( slug__icontains = search_query ) )
status_filter = self . request . query_params . get ( " status " )
if status_filter in { " true " , " false " } :
queryset = queryset . filter ( status = status_filter == " true " )
return queryset
return queryset
@action ( detail = True , methods = [ " post " ] , url_path = " assign-items " )
@action ( detail = True , methods = [ " post " ] , url_path = " assign-items " )