mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-08-01 18:37:42 -05:00
The API now supports filtering docs by tag & correspondent, as well as ordering
This commit is contained in:
@@ -13,7 +13,7 @@ from rest_framework.viewsets import (
|
||||
|
||||
from paperless.db import GnuPG
|
||||
|
||||
from .filters import DocumentFilter, CorrespondentFilter, TagFilter
|
||||
from .filters import DocumentFilterSet, CorrespondentFilterSet, TagFilterSet
|
||||
from .forms import UploadForm
|
||||
from .models import Correspondent, Tag, Document, Log
|
||||
from .serialisers import (
|
||||
@@ -94,8 +94,9 @@ class CorrespondentViewSet(ModelViewSet):
|
||||
serializer_class = CorrespondentSerializer
|
||||
pagination_class = StandardPagination
|
||||
permission_classes = (IsAuthenticated,)
|
||||
filter_backends = (filters.DjangoFilterBackend,)
|
||||
filter_class = CorrespondentFilter
|
||||
filter_backends = (filters.DjangoFilterBackend, filters.OrderingFilter)
|
||||
filter_class = CorrespondentFilterSet
|
||||
ordering_fields = ("name", "slug")
|
||||
|
||||
|
||||
class TagViewSet(ModelViewSet):
|
||||
@@ -104,8 +105,9 @@ class TagViewSet(ModelViewSet):
|
||||
serializer_class = TagSerializer
|
||||
pagination_class = StandardPagination
|
||||
permission_classes = (IsAuthenticated,)
|
||||
filter_backends = (filters.DjangoFilterBackend,)
|
||||
filter_class = TagFilter
|
||||
filter_backends = (filters.DjangoFilterBackend, filters.OrderingFilter)
|
||||
filter_class = TagFilterSet
|
||||
ordering_fields = ("name", "slug")
|
||||
|
||||
|
||||
class DocumentViewSet(RetrieveModelMixin,
|
||||
@@ -118,9 +120,14 @@ class DocumentViewSet(RetrieveModelMixin,
|
||||
serializer_class = DocumentSerializer
|
||||
pagination_class = StandardPagination
|
||||
permission_classes = (IsAuthenticated,)
|
||||
filter_backends = (filters.DjangoFilterBackend, filters.SearchFilter)
|
||||
filter_class = DocumentFilter
|
||||
filter_backends = (
|
||||
filters.DjangoFilterBackend,
|
||||
filters.SearchFilter,
|
||||
filters.OrderingFilter
|
||||
)
|
||||
filter_class = DocumentFilterSet
|
||||
search_fields = ("title", "correspondent__name", "content")
|
||||
ordering_fields = ("id", "title", "correspondent__name")
|
||||
|
||||
|
||||
class LogViewSet(ReadOnlyModelViewSet):
|
||||
@@ -129,4 +136,5 @@ class LogViewSet(ReadOnlyModelViewSet):
|
||||
serializer_class = LogSerializer
|
||||
pagination_class = StandardPagination
|
||||
permission_classes = (IsAuthenticated,)
|
||||
filter_backends = (filters.DjangoFilterBackend,)
|
||||
filter_backends = (filters.DjangoFilterBackend, filters.OrderingFilter)
|
||||
ordering_fields = ("time",)
|
||||
|
Reference in New Issue
Block a user