]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Support acknowledged param
authorshamoon <4887959+shamoon@users.noreply.github.com>
Fri, 14 Feb 2025 23:39:10 +0000 (15:39 -0800)
committershamoon <4887959+shamoon@users.noreply.github.com>
Mon, 17 Feb 2025 16:19:11 +0000 (08:19 -0800)
src-ui/src/app/components/admin/tasks/tasks.component.spec.ts
src-ui/src/app/services/tasks.service.spec.ts
src-ui/src/app/services/tasks.service.ts
src/documents/filters.py
src/documents/serialisers.py
src/documents/views.py

index 648c93cd3040c60d6b01b0b9e7d8c787ea4bdeef..8158be7b272e8f494f25db43c70fc5944742b83f 100644 (file)
@@ -162,7 +162,9 @@ describe('TasksComponent', () => {
     jest.useFakeTimers()
     fixture.detectChanges()
     httpTestingController
-      .expectOne(`${environment.apiBaseUrl}tasks/?task_name=consume_file`)
+      .expectOne(
+        `${environment.apiBaseUrl}tasks/?task_name=consume_file&acknowledged=false`
+      )
       .flush(tasks)
   })
 
index bb18b521698e81033963ca995ca02769a7dc9fef..940690453e97957b8ad9f338911ee29f436aba65 100644 (file)
@@ -37,7 +37,7 @@ describe('TasksService', () => {
   it('calls tasks api endpoint on reload', () => {
     tasksService.reload()
     const req = httpTestingController.expectOne(
-      `${environment.apiBaseUrl}tasks/?task_name=consume_file`
+      `${environment.apiBaseUrl}tasks/?task_name=consume_file&acknowledged=false`
     )
     expect(req.request.method).toEqual('GET')
   })
@@ -46,7 +46,7 @@ describe('TasksService', () => {
     tasksService.loading = true
     tasksService.reload()
     httpTestingController.expectNone(
-      `${environment.apiBaseUrl}tasks/?task_name=consume_file`
+      `${environment.apiBaseUrl}tasks/?task_name=consume_file&acknowledged=false`
     )
   })
 
@@ -62,7 +62,9 @@ describe('TasksService', () => {
     req.flush([])
     // reload is then called
     httpTestingController
-      .expectOne(`${environment.apiBaseUrl}tasks/?task_name=consume_file`)
+      .expectOne(
+        `${environment.apiBaseUrl}tasks/?task_name=consume_file&acknowledged=false`
+      )
       .flush([])
   })
 
@@ -119,7 +121,7 @@ describe('TasksService', () => {
     tasksService.reload()
 
     const req = httpTestingController.expectOne(
-      `${environment.apiBaseUrl}tasks/?task_name=consume_file`
+      `${environment.apiBaseUrl}tasks/?task_name=consume_file&acknowledged=false`
     )
 
     req.flush(mockTasks)
index 51db7e48c18308444011d289b80810434f53c005..e499a0dd83f60e0a466f326cb15c75a7fed51e15 100644 (file)
@@ -54,7 +54,9 @@ export class TasksService {
     this.loading = true
 
     this.http
-      .get<PaperlessTask[]>(`${this.baseUrl}tasks/?task_name=consume_file`)
+      .get<PaperlessTask[]>(
+        `${this.baseUrl}tasks/?task_name=consume_file&acknowledged=false`
+      )
       .pipe(takeUntil(this.unsubscribeNotifer), first())
       .subscribe((r) => {
         this.fileTasks = r.filter((t) => t.type == PaperlessTaskType.Auto)
index 19b4d95b664e0399a1b3e4f2b560d1eaede89856..6c2214de2b86c0b8cde6b9be0d7c1d888d82a510 100644 (file)
@@ -772,6 +772,11 @@ class ShareLinkFilterSet(FilterSet):
 
 
 class PaperlessTaskFilterSet(FilterSet):
+    acknowledged = BooleanFilter(
+        label="Acknowledged",
+        field_name="acknowledged",
+    )
+
     class Meta:
         model = PaperlessTask
         fields = {
index 5bab41b2611454425812e3559f2c2be6b34004a8..d93b0a65f039654ff35569e67f8d1f66d2442681 100644 (file)
@@ -1708,20 +1708,21 @@ class TasksViewSerializer(OwnedObjectSerializer):
     def get_related_document(self, obj) -> str | None:
         result = None
         re = None
-        match obj.status:
-            case states.SUCCESS:
-                re = self.created_doc_re
-            case states.FAILURE:
-                re = (
-                    self.duplicate_doc_re
-                    if "existing document is in the trash" not in obj.result
-                    else None
-                )
-        if re is not None:
-            try:
-                result = re.search(obj.result).group(1)
-            except Exception:
-                pass
+        if obj.result:
+            match obj.status:
+                case states.SUCCESS:
+                    re = self.created_doc_re
+                case states.FAILURE:
+                    re = (
+                        self.duplicate_doc_re
+                        if "existing document is in the trash" not in obj.result
+                        else None
+                    )
+            if re is not None:
+                try:
+                    result = re.search(obj.result).group(1)
+                except Exception:
+                    pass
 
         return result
 
index 43984e578c812b1c93fed31bbb59afb1e08de7d8..bab20230d114b5dcc7c1135e01184d2503105bc8 100644 (file)
@@ -2233,13 +2233,7 @@ class TasksViewSet(ReadOnlyModelViewSet):
     filterset_class = PaperlessTaskFilterSet
 
     def get_queryset(self):
-        queryset = (
-            PaperlessTask.objects.filter(
-                acknowledged=False,
-            )
-            .order_by("date_created")
-            .reverse()
-        )
+        queryset = PaperlessTask.objects.all().order_by("date_created").reverse()
         task_id = self.request.query_params.get("task_id")
         if task_id is not None:
             queryset = PaperlessTask.objects.filter(task_id=task_id)