mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-02-18 00:29:35 -06:00
Fix: only pass user to SerializerWithPerms serializers
This commit is contained in:
@@ -175,6 +175,7 @@ from documents.serialisers import PostDocumentSerializer
|
|||||||
from documents.serialisers import RunTaskViewSerializer
|
from documents.serialisers import RunTaskViewSerializer
|
||||||
from documents.serialisers import SavedViewSerializer
|
from documents.serialisers import SavedViewSerializer
|
||||||
from documents.serialisers import SearchResultSerializer
|
from documents.serialisers import SearchResultSerializer
|
||||||
|
from documents.serialisers import SerializerWithPerms
|
||||||
from documents.serialisers import ShareLinkBundleSerializer
|
from documents.serialisers import ShareLinkBundleSerializer
|
||||||
from documents.serialisers import ShareLinkSerializer
|
from documents.serialisers import ShareLinkSerializer
|
||||||
from documents.serialisers import StoragePathSerializer
|
from documents.serialisers import StoragePathSerializer
|
||||||
@@ -272,17 +273,22 @@ class PassUserMixin(GenericAPIView):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def get_serializer(self, *args, **kwargs):
|
def get_serializer(self, *args, **kwargs):
|
||||||
kwargs.setdefault("user", self.request.user)
|
serializer_class = self.get_serializer_class()
|
||||||
try:
|
if isinstance(serializer_class, type) and issubclass(
|
||||||
full_perms = get_boolean(
|
serializer_class,
|
||||||
str(self.request.query_params.get("full_perms", "false")),
|
SerializerWithPerms,
|
||||||
|
):
|
||||||
|
kwargs.setdefault("user", self.request.user)
|
||||||
|
try:
|
||||||
|
full_perms = get_boolean(
|
||||||
|
str(self.request.query_params.get("full_perms", "false")),
|
||||||
|
)
|
||||||
|
except ValueError:
|
||||||
|
full_perms = False
|
||||||
|
kwargs.setdefault(
|
||||||
|
"full_perms",
|
||||||
|
full_perms,
|
||||||
)
|
)
|
||||||
except ValueError:
|
|
||||||
full_perms = False
|
|
||||||
kwargs.setdefault(
|
|
||||||
"full_perms",
|
|
||||||
full_perms,
|
|
||||||
)
|
|
||||||
return super().get_serializer(*args, **kwargs)
|
return super().get_serializer(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user