Fix: only pass user to SerializerWithPerms serializers

This commit is contained in:
shamoon
2026-02-16 09:31:33 -08:00
parent d8e07b8d84
commit 02896a15fd

View File

@@ -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)