mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-08-10 00:18:57 +00:00
Fix: more api fixes (#10204)
This commit is contained in:
@@ -6,6 +6,7 @@ import re
|
||||
import tempfile
|
||||
import zipfile
|
||||
from datetime import datetime
|
||||
from distutils.util import strtobool
|
||||
from pathlib import Path
|
||||
from time import mktime
|
||||
from unicodedata import normalize
|
||||
@@ -236,9 +237,15 @@ class PassUserMixin(GenericAPIView):
|
||||
|
||||
def get_serializer(self, *args, **kwargs):
|
||||
kwargs.setdefault("user", self.request.user)
|
||||
try:
|
||||
full_perms = bool(
|
||||
strtobool(str(self.request.query_params.get("full_perms", "false"))),
|
||||
)
|
||||
except ValueError:
|
||||
full_perms = False
|
||||
kwargs.setdefault(
|
||||
"full_perms",
|
||||
self.request.query_params.get("full_perms", False),
|
||||
full_perms,
|
||||
)
|
||||
return super().get_serializer(*args, **kwargs)
|
||||
|
||||
@@ -592,9 +599,15 @@ class DocumentViewSet(
|
||||
kwargs.setdefault("context", self.get_serializer_context())
|
||||
kwargs.setdefault("fields", fields)
|
||||
kwargs.setdefault("truncate_content", truncate_content.lower() in ["true", "1"])
|
||||
try:
|
||||
full_perms = bool(
|
||||
strtobool(str(self.request.query_params.get("full_perms", "false"))),
|
||||
)
|
||||
except ValueError:
|
||||
full_perms = False
|
||||
kwargs.setdefault(
|
||||
"full_perms",
|
||||
self.request.query_params.get("full_perms", False),
|
||||
full_perms,
|
||||
)
|
||||
return super().get_serializer(*args, **kwargs)
|
||||
|
||||
@@ -2536,6 +2549,13 @@ class WorkflowTriggerViewSet(ModelViewSet):
|
||||
|
||||
queryset = WorkflowTrigger.objects.all()
|
||||
|
||||
def partial_update(self, request, *args, **kwargs):
|
||||
if "id" in request.data and str(request.data["id"]) != str(kwargs["pk"]):
|
||||
return HttpResponseBadRequest(
|
||||
"ID in body does not match URL",
|
||||
)
|
||||
return super().partial_update(request, *args, **kwargs)
|
||||
|
||||
|
||||
class WorkflowActionViewSet(ModelViewSet):
|
||||
permission_classes = (IsAuthenticated, PaperlessObjectPermissions)
|
||||
@@ -2554,6 +2574,13 @@ class WorkflowActionViewSet(ModelViewSet):
|
||||
"assign_custom_fields",
|
||||
)
|
||||
|
||||
def partial_update(self, request, *args, **kwargs):
|
||||
if "id" in request.data and str(request.data["id"]) != str(kwargs["pk"]):
|
||||
return HttpResponseBadRequest(
|
||||
"ID in body does not match URL",
|
||||
)
|
||||
return super().partial_update(request, *args, **kwargs)
|
||||
|
||||
|
||||
class WorkflowViewSet(ModelViewSet):
|
||||
permission_classes = (IsAuthenticated, PaperlessObjectPermissions)
|
||||
|
Reference in New Issue
Block a user