mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-21 10:29:29 -05:00
Fix some document actions but many are now wrong (not paginated)
This commit is contained in:
parent
31a2b36883
commit
fa18844b92
@ -377,16 +377,10 @@ class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
|||||||
),
|
),
|
||||||
history=extend_schema(
|
history=extend_schema(
|
||||||
description="View the document history",
|
description="View the document history",
|
||||||
parameters=[
|
|
||||||
OpenApiParameter(
|
|
||||||
name="id",
|
|
||||||
type=OpenApiTypes.STR,
|
|
||||||
location=OpenApiParameter.PATH,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
responses={
|
responses={
|
||||||
200: inline_serializer(
|
200: inline_serializer(
|
||||||
name="LogEntry",
|
name="LogEntry",
|
||||||
|
many=True,
|
||||||
fields={
|
fields={
|
||||||
"id": serializers.IntegerField(),
|
"id": serializers.IntegerField(),
|
||||||
"timestamp": serializers.DateTimeField(),
|
"timestamp": serializers.DateTimeField(),
|
||||||
@ -408,13 +402,6 @@ class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
|||||||
),
|
),
|
||||||
metadata=extend_schema(
|
metadata=extend_schema(
|
||||||
description="View the document metadata",
|
description="View the document metadata",
|
||||||
parameters=[
|
|
||||||
OpenApiParameter(
|
|
||||||
name="id",
|
|
||||||
type=OpenApiTypes.STR,
|
|
||||||
location=OpenApiParameter.PATH,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
responses={
|
responses={
|
||||||
200: inline_serializer(
|
200: inline_serializer(
|
||||||
name="Metadata",
|
name="Metadata",
|
||||||
@ -440,29 +427,15 @@ class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
|||||||
),
|
),
|
||||||
notes=extend_schema(
|
notes=extend_schema(
|
||||||
description="View, add, or delete notes for the document",
|
description="View, add, or delete notes for the document",
|
||||||
parameters=[
|
|
||||||
OpenApiParameter(
|
|
||||||
name="id",
|
|
||||||
type=OpenApiTypes.STR,
|
|
||||||
location=OpenApiParameter.QUERY,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
responses={
|
responses={
|
||||||
200: inline_serializer(
|
200: inline_serializer(
|
||||||
name="Note",
|
name="Note",
|
||||||
|
many=True,
|
||||||
fields={
|
fields={
|
||||||
"id": serializers.IntegerField(),
|
"id": serializers.IntegerField(),
|
||||||
"note": serializers.CharField(),
|
"note": serializers.CharField(),
|
||||||
"created": serializers.DateTimeField(),
|
"created": serializers.DateTimeField(),
|
||||||
"user": inline_serializer(
|
"user": UserSerializer(),
|
||||||
name="User",
|
|
||||||
fields={
|
|
||||||
"id": serializers.IntegerField(),
|
|
||||||
"username": serializers.CharField(),
|
|
||||||
"first_name": serializers.CharField(),
|
|
||||||
"last_name": serializers.CharField(),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
400: None,
|
400: None,
|
||||||
@ -472,13 +445,6 @@ class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
|||||||
),
|
),
|
||||||
suggestions=extend_schema(
|
suggestions=extend_schema(
|
||||||
description="View suggestions for the document",
|
description="View suggestions for the document",
|
||||||
parameters=[
|
|
||||||
OpenApiParameter(
|
|
||||||
name="id",
|
|
||||||
type=OpenApiTypes.STR,
|
|
||||||
location=OpenApiParameter.PATH,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
responses={
|
responses={
|
||||||
200: inline_serializer(
|
200: inline_serializer(
|
||||||
name="Suggestions",
|
name="Suggestions",
|
||||||
@ -503,17 +469,14 @@ class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
|||||||
),
|
),
|
||||||
thumb=extend_schema(
|
thumb=extend_schema(
|
||||||
description="View the document thumbnail",
|
description="View the document thumbnail",
|
||||||
parameters=[
|
|
||||||
OpenApiParameter(
|
|
||||||
name="id",
|
|
||||||
type=OpenApiTypes.STR,
|
|
||||||
location=OpenApiParameter.PATH,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
responses={200: OpenApiTypes.BINARY},
|
responses={200: OpenApiTypes.BINARY},
|
||||||
),
|
),
|
||||||
preview=extend_schema(
|
preview=extend_schema(
|
||||||
description="View the document preview",
|
description="View the document preview",
|
||||||
|
responses={200: OpenApiTypes.BINARY},
|
||||||
|
),
|
||||||
|
share_links=extend_schema(
|
||||||
|
description="View share links for the document",
|
||||||
parameters=[
|
parameters=[
|
||||||
OpenApiParameter(
|
OpenApiParameter(
|
||||||
name="id",
|
name="id",
|
||||||
@ -521,7 +484,12 @@ class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
|||||||
location=OpenApiParameter.PATH,
|
location=OpenApiParameter.PATH,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
responses={200: OpenApiTypes.BINARY},
|
responses={
|
||||||
|
200: ShareLinkSerializer(many=True),
|
||||||
|
400: None,
|
||||||
|
403: None,
|
||||||
|
404: None,
|
||||||
|
},
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
class DocumentViewSet(
|
class DocumentViewSet(
|
||||||
@ -657,7 +625,7 @@ class DocumentViewSet(
|
|||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@action(methods=["get"], detail=True)
|
@action(methods=["get"], detail=True, filter_backends=[])
|
||||||
@method_decorator(cache_control(no_cache=True))
|
@method_decorator(cache_control(no_cache=True))
|
||||||
@method_decorator(
|
@method_decorator(
|
||||||
condition(etag_func=metadata_etag, last_modified_func=metadata_last_modified),
|
condition(etag_func=metadata_etag, last_modified_func=metadata_last_modified),
|
||||||
@ -716,7 +684,7 @@ class DocumentViewSet(
|
|||||||
|
|
||||||
return Response(meta)
|
return Response(meta)
|
||||||
|
|
||||||
@action(methods=["get"], detail=True)
|
@action(methods=["get"], detail=True, filter_backends=[])
|
||||||
@method_decorator(cache_control(no_cache=True))
|
@method_decorator(cache_control(no_cache=True))
|
||||||
@method_decorator(
|
@method_decorator(
|
||||||
condition(
|
condition(
|
||||||
@ -767,7 +735,7 @@ class DocumentViewSet(
|
|||||||
|
|
||||||
return Response(resp_data)
|
return Response(resp_data)
|
||||||
|
|
||||||
@action(methods=["get"], detail=True)
|
@action(methods=["get"], detail=True, filter_backends=[])
|
||||||
@method_decorator(cache_control(no_cache=True))
|
@method_decorator(cache_control(no_cache=True))
|
||||||
@method_decorator(
|
@method_decorator(
|
||||||
condition(etag_func=preview_etag, last_modified_func=preview_last_modified),
|
condition(etag_func=preview_etag, last_modified_func=preview_last_modified),
|
||||||
@ -779,7 +747,7 @@ class DocumentViewSet(
|
|||||||
except (FileNotFoundError, Document.DoesNotExist):
|
except (FileNotFoundError, Document.DoesNotExist):
|
||||||
raise Http404
|
raise Http404
|
||||||
|
|
||||||
@action(methods=["get"], detail=True)
|
@action(methods=["get"], detail=True, filter_backends=[])
|
||||||
@method_decorator(cache_control(no_cache=True))
|
@method_decorator(cache_control(no_cache=True))
|
||||||
@method_decorator(last_modified(thumbnail_last_modified))
|
@method_decorator(last_modified(thumbnail_last_modified))
|
||||||
def thumb(self, request, pk=None):
|
def thumb(self, request, pk=None):
|
||||||
@ -838,6 +806,7 @@ class DocumentViewSet(
|
|||||||
methods=["get", "post", "delete"],
|
methods=["get", "post", "delete"],
|
||||||
detail=True,
|
detail=True,
|
||||||
permission_classes=[PaperlessNotePermissions],
|
permission_classes=[PaperlessNotePermissions],
|
||||||
|
filter_backends=[],
|
||||||
)
|
)
|
||||||
def notes(self, request, pk=None):
|
def notes(self, request, pk=None):
|
||||||
currentUser = request.user
|
currentUser = request.user
|
||||||
@ -945,7 +914,7 @@ class DocumentViewSet(
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
@action(methods=["get"], detail=True)
|
@action(methods=["get"], detail=True, filter_backends=[])
|
||||||
def share_links(self, request, pk=None):
|
def share_links(self, request, pk=None):
|
||||||
currentUser = request.user
|
currentUser = request.user
|
||||||
try:
|
try:
|
||||||
@ -963,21 +932,16 @@ class DocumentViewSet(
|
|||||||
|
|
||||||
if request.method == "GET":
|
if request.method == "GET":
|
||||||
now = timezone.now()
|
now = timezone.now()
|
||||||
links = [
|
links = (
|
||||||
{
|
ShareLink.objects.filter(document=doc)
|
||||||
"id": c.pk,
|
|
||||||
"created": c.created,
|
|
||||||
"expiration": c.expiration,
|
|
||||||
"slug": c.slug,
|
|
||||||
}
|
|
||||||
for c in ShareLink.objects.filter(document=doc)
|
|
||||||
.only("pk", "created", "expiration", "slug")
|
.only("pk", "created", "expiration", "slug")
|
||||||
.exclude(expiration__lt=now)
|
.exclude(expiration__lt=now)
|
||||||
.order_by("-created")
|
.order_by("-created")
|
||||||
]
|
)
|
||||||
return Response(links)
|
serializer = ShareLinkSerializer(links, many=True)
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
@action(methods=["get"], detail=True, name="Audit Trail")
|
@action(methods=["get"], detail=True, name="Audit Trail", filter_backends=[])
|
||||||
def history(self, request, pk=None):
|
def history(self, request, pk=None):
|
||||||
if not settings.AUDIT_LOG_ENABLED:
|
if not settings.AUDIT_LOG_ENABLED:
|
||||||
return HttpResponseBadRequest("Audit log is disabled")
|
return HttpResponseBadRequest("Audit log is disabled")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user