]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
prevent date suggestion search if disabled 3472/head
authorshamoon <4887959+shamoon@users.noreply.github.com>
Thu, 23 Feb 2023 18:57:58 +0000 (10:57 -0800)
committershamoon <4887959+shamoon@users.noreply.github.com>
Sat, 27 May 2023 17:51:30 +0000 (10:51 -0700)
src/documents/tests/test_api.py
src/documents/views.py

index 2e8e962077f3c06a334839d6b92b4a99fec76310..0a87bd95fdd0d8442c49b0f175d2754192e2bfd4 100644 (file)
@@ -1948,6 +1948,29 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
             },
         )
 
+    @mock.patch("documents.parsers.parse_date_generator")
+    @override_settings(NUMBER_OF_SUGGESTED_DATES=0)
+    def test_get_suggestions_dates_disabled(
+        self,
+        parse_date_generator,
+    ):
+        """
+        GIVEN:
+            - NUMBER_OF_SUGGESTED_DATES = 0 (disables feature)
+        WHEN:
+            - API reuqest for document suggestions
+        THEN:
+            - Dont check for suggested dates at all
+        """
+        doc = Document.objects.create(
+            title="test",
+            mime_type="application/pdf",
+            content="this is an invoice from 12.04.2022!",
+        )
+
+        self.client.get(f"/api/documents/{doc.pk}/suggestions/")
+        self.assertFalse(parse_date_generator.called)
+
     def test_saved_views(self):
         u1 = User.objects.create_superuser("user1")
         u2 = User.objects.create_superuser("user2")
index 1c80d0bab169ce3c42e0efd97b6d7f18ba040cec..db25e69344039da1edc7e4a4afe2bf866dae6a78 100644 (file)
@@ -422,10 +422,12 @@ class DocumentViewSet(
 
         classifier = load_classifier()
 
-        gen = parse_date_generator(doc.filename, doc.content)
-        dates = sorted(
-            {i for i in itertools.islice(gen, settings.NUMBER_OF_SUGGESTED_DATES)},
-        )
+        dates = []
+        if settings.NUMBER_OF_SUGGESTED_DATES > 0:
+            gen = parse_date_generator(doc.filename, doc.content)
+            dates = sorted(
+                {i for i in itertools.islice(gen, settings.NUMBER_OF_SUGGESTED_DATES)},
+            )
 
         return Response(
             {