From 8715ddccb9aac234dc47c811300596566e443bc6 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:42:45 -0700 Subject: [PATCH] Pass view queryset to acknowledge serializer --- src/documents/serialisers.py | 3 ++- src/documents/views.py | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/documents/serialisers.py b/src/documents/serialisers.py index 7726141be..82c18b703 100644 --- a/src/documents/serialisers.py +++ b/src/documents/serialisers.py @@ -2649,7 +2649,8 @@ class AcknowledgeTasksViewSerializer(serializers.Serializer[dict[str, Any]]): raise serializers.ValidationError(f"{name} must be a list") if not all(isinstance(i, int) for i in tasks): raise serializers.ValidationError(f"{name} must be a list of integers") - count = PaperlessTask.objects.filter(id__in=tasks).count() + queryset = self.context.get("queryset", PaperlessTask.objects.all()) + count = queryset.filter(id__in=tasks).count() if not count == len(tasks): raise serializers.ValidationError( f"Some tasks in {name} don't exist or were specified twice.", diff --git a/src/documents/views.py b/src/documents/views.py index f2e611ae6..ba4faa622 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -4170,13 +4170,17 @@ class TasksViewSet(ReadOnlyModelViewSet[PaperlessTask]): permission_classes=[IsAuthenticated, AcknowledgeTasksPermissions], ) def acknowledge(self, request): - serializer = AcknowledgeTasksViewSerializer(data=request.data) + queryset = self.get_queryset() + serializer = AcknowledgeTasksViewSerializer( + data=request.data, + context={"queryset": queryset}, + ) serializer.is_valid(raise_exception=True) if serializer.validated_data.get("all", False): - tasks = self.get_queryset().filter(acknowledged=False) + tasks = queryset.filter(acknowledged=False) else: task_ids = serializer.validated_data.get("tasks") - tasks = self.get_queryset().filter(id__in=task_ids) + tasks = queryset.filter(id__in=task_ids) count = tasks.update(acknowledged=True) return Response({"result": count})