mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-07-28 18:24:38 -05:00
Fix: support multiple inbox tags from stats widget (#7281)
This commit is contained in:
@@ -954,7 +954,7 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(response.data["documents_total"], 3)
|
||||
self.assertEqual(response.data["documents_inbox"], 1)
|
||||
self.assertEqual(response.data["inbox_tag"], tag_inbox.pk)
|
||||
self.assertEqual(response.data["inbox_tags"], [tag_inbox.pk])
|
||||
self.assertEqual(
|
||||
response.data["document_file_type_counts"][0]["mime_type_count"],
|
||||
2,
|
||||
@@ -975,7 +975,7 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
|
||||
response = self.client.get("/api/statistics/")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(response.data["documents_inbox"], None)
|
||||
self.assertEqual(response.data["inbox_tag"], None)
|
||||
self.assertEqual(response.data["inbox_tags"], None)
|
||||
|
||||
def test_statistics_multiple_users(self):
|
||||
"""
|
||||
|
@@ -1418,13 +1418,11 @@ class StatisticsView(APIView):
|
||||
|
||||
documents_total = documents.count()
|
||||
|
||||
inbox_tag = tags.filter(is_inbox_tag=True)
|
||||
inbox_tags = tags.filter(is_inbox_tag=True)
|
||||
|
||||
documents_inbox = (
|
||||
documents.filter(tags__is_inbox_tag=True, tags__id__in=tags)
|
||||
.distinct()
|
||||
.count()
|
||||
if inbox_tag.exists()
|
||||
documents.filter(tags__id__in=inbox_tags).distinct().count()
|
||||
if inbox_tags.exists()
|
||||
else None
|
||||
)
|
||||
|
||||
@@ -1454,7 +1452,12 @@ class StatisticsView(APIView):
|
||||
{
|
||||
"documents_total": documents_total,
|
||||
"documents_inbox": documents_inbox,
|
||||
"inbox_tag": inbox_tag.first().pk if inbox_tag.exists() else None,
|
||||
"inbox_tag": inbox_tags.first().pk
|
||||
if inbox_tags.exists()
|
||||
else None, # backwards compatibility
|
||||
"inbox_tags": [tag.pk for tag in inbox_tags]
|
||||
if inbox_tags.exists()
|
||||
else None,
|
||||
"document_file_type_counts": document_file_type_counts,
|
||||
"character_count": character_count,
|
||||
"tag_count": len(tags),
|
||||
|
Reference in New Issue
Block a user