From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 16 Feb 2026 17:31:33 +0000 (-0800) Subject: Fix: only pass user to SerializerWithPerms serializers X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02896a15fd463d931b048d6d7af0ddeac9998795;p=thirdparty%2Fpaperless-ngx.git Fix: only pass user to SerializerWithPerms serializers --- diff --git a/src/documents/views.py b/src/documents/views.py index 420e8fb1e..bb7cd0f51 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -175,6 +175,7 @@ from documents.serialisers import PostDocumentSerializer from documents.serialisers import RunTaskViewSerializer from documents.serialisers import SavedViewSerializer from documents.serialisers import SearchResultSerializer +from documents.serialisers import SerializerWithPerms from documents.serialisers import ShareLinkBundleSerializer from documents.serialisers import ShareLinkSerializer from documents.serialisers import StoragePathSerializer @@ -272,17 +273,22 @@ class PassUserMixin(GenericAPIView): """ def get_serializer(self, *args, **kwargs): - kwargs.setdefault("user", self.request.user) - try: - full_perms = get_boolean( - str(self.request.query_params.get("full_perms", "false")), + serializer_class = self.get_serializer_class() + if isinstance(serializer_class, type) and issubclass( + serializer_class, + 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)