From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 16 Feb 2026 17:17:20 +0000 (-0800) Subject: Fix typing issue X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d8e07b8d848c0ce67aaed692361f97c2dc9a39fa;p=thirdparty%2Fpaperless-ngx.git Fix typing issue --- diff --git a/src/documents/views.py b/src/documents/views.py index 5d78d1b48..420e8fb1e 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -390,7 +390,16 @@ class PermissionsAwareDocumentCountMixin(BulkPermissionMixin, PassUserMixin): # Default is simple relation path, override for through-table/count specialization. document_count_through = None - document_count_source_field = None + document_count_source_field: str | None = None + + def _get_document_count_source_field(self) -> str: + if self.document_count_source_field is None: + msg = ( + "document_count_source_field must be set when " + "document_count_through is configured" + ) + raise ValueError(msg) + return self.document_count_source_field def get_document_count_filter(self): request = getattr(self, "request", None) @@ -406,7 +415,7 @@ class PermissionsAwareDocumentCountMixin(BulkPermissionMixin, PassUserMixin): return annotate_document_count_for_related_queryset( base_qs, through_model=self.document_count_through, - related_object_field=self.document_count_source_field, + related_object_field=self._get_document_count_source_field(), user=user, ) @@ -508,7 +517,7 @@ class TagViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet): .select_related("owner") .order_by(*ordering), through_model=self.document_count_through, - related_object_field=self.document_count_source_field, + related_object_field=self._get_document_count_source_field(), user=user, ), )