Merge branch 'dev' into feature-ai

This commit is contained in:
shamoon
2025-10-22 21:52:47 -07:00
committed by GitHub
112 changed files with 2362 additions and 2017 deletions

View File

@@ -147,6 +147,7 @@ from documents.permissions import AcknowledgeTasksPermissions
from documents.permissions import PaperlessAdminPermissions
from documents.permissions import PaperlessNotePermissions
from documents.permissions import PaperlessObjectPermissions
from documents.permissions import get_document_count_filter_for_user
from documents.permissions import get_objects_for_user_owner_aware
from documents.permissions import has_perms_owner_aware
from documents.permissions import set_permissions_for_object
@@ -379,21 +380,13 @@ class PermissionsAwareDocumentCountMixin(BulkPermissionMixin, PassUserMixin):
Mixin to add document count to queryset, permissions-aware if needed
"""
def get_document_count_filter(self):
request = getattr(self, "request", None)
user = getattr(request, "user", None) if request else None
return get_document_count_filter_for_user(user)
def get_queryset(self):
filter = (
Q(documents__deleted_at__isnull=True)
if self.request.user is None or self.request.user.is_superuser
else (
Q(
documents__deleted_at__isnull=True,
documents__id__in=get_objects_for_user_owner_aware(
self.request.user,
"documents.view_document",
Document,
).values_list("id", flat=True),
)
)
)
filter = self.get_document_count_filter()
return (
super()
.get_queryset()
@@ -462,6 +455,11 @@ class TagViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
filterset_class = TagFilterSet
ordering_fields = ("color", "name", "matching_algorithm", "match", "document_count")
def get_serializer_context(self):
context = super().get_serializer_context()
context["document_count_filter"] = self.get_document_count_filter()
return context
def perform_update(self, serializer):
old_parent = self.get_object().get_parent()
tag = serializer.save()