From 141d4f8456abbd4f5495f98957708d09b644df22 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 10 Jun 2024 07:12:29 -0700 Subject: [PATCH] Support disabling delete confirm --- src-ui/messages.xlf | 357 +++++++++++++----- .../admin/settings/settings.component.html | 2 +- .../bulk-editor/bulk-editor.component.spec.ts | 9 +- .../bulk-editor/bulk-editor.component.ts | 30 +- 4 files changed, 284 insertions(+), 114 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index 56cfa9ae4..a643c0c97 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -684,6 +684,10 @@ src/app/components/admin/tasks/tasks.component.html 23 + + src/app/components/admin/trash/trash.component.html + 46 + src/app/components/admin/users-groups/users-groups.component.html 92 @@ -976,13 +980,6 @@ 195 - - Deleting documents will always ask for confirmation. - - src/app/components/admin/settings/settings.component.html - 195 - - Apply on close @@ -1363,6 +1360,10 @@ src/app/components/admin/tasks/tasks.component.html 42 + + src/app/components/admin/trash/trash.component.html + 38 + src/app/components/admin/users-groups/users-groups.component.html 23 @@ -1422,6 +1423,22 @@ src/app/components/admin/settings/settings.component.html 369 + + src/app/components/admin/trash/trash.component.html + 68 + + + src/app/components/admin/trash/trash.component.html + 77 + + + src/app/components/admin/trash/trash.component.ts + 57 + + + src/app/components/admin/trash/trash.component.ts + 79 + src/app/components/admin/users-groups/users-groups.component.html 38 @@ -1765,6 +1782,10 @@ src/app/components/admin/tasks/tasks.component.html 9 + + src/app/components/admin/trash/trash.component.html + 9 + src/app/components/manage/management-list/management-list.component.html 3 @@ -1788,6 +1809,10 @@ src/app/components/admin/tasks/tasks.component.html 36 + + src/app/components/admin/trash/trash.component.html + 36 + src/app/components/admin/users-groups/users-groups.component.html 21 @@ -2045,6 +2070,188 @@ 141 + + Trash + + src/app/components/admin/trash/trash.component.html + 2 + + + src/app/components/app-frame/app-frame.component.html + 271 + + + src/app/components/app-frame/app-frame.component.html + 274 + + + + Manage trashed documents that are pending deletion. + + src/app/components/admin/trash/trash.component.html + 4 + + + + Restore selected + + src/app/components/admin/trash/trash.component.html + 12 + + + + Delete selected + + src/app/components/admin/trash/trash.component.html + 15 + + + + Empty trash + + src/app/components/admin/trash/trash.component.html + 18 + + + + Remaining + + src/app/components/admin/trash/trash.component.html + 37 + + + + days + + src/app/components/admin/trash/trash.component.html + 59 + + + + Restore + + src/app/components/admin/trash/trash.component.html + 67 + + + src/app/components/admin/trash/trash.component.html + 74 + + + + {VAR_PLURAL, plural, =1 {One object in trash} other { total documents in trash}} + + src/app/components/admin/trash/trash.component.html + 90 + + + + Confirm delete + + src/app/components/admin/trash/trash.component.ts + 53 + + + src/app/components/admin/trash/trash.component.ts + 73 + + + src/app/components/manage/management-list/management-list.component.ts + 203 + + + src/app/components/manage/management-list/management-list.component.ts + 320 + + + + This operation will permanently delete this document. + + src/app/components/admin/trash/trash.component.ts + 54 + + + + This operation cannot be undone. + + src/app/components/admin/trash/trash.component.ts + 55 + + + src/app/components/admin/trash/trash.component.ts + 77 + + + src/app/components/admin/users-groups/users-groups.component.ts + 116 + + + src/app/components/admin/users-groups/users-groups.component.ts + 166 + + + src/app/components/manage/custom-fields/custom-fields.component.ts + 73 + + + src/app/components/manage/mail/mail.component.ts + 114 + + + src/app/components/manage/mail/mail.component.ts + 173 + + + src/app/components/manage/management-list/management-list.component.ts + 322 + + + src/app/components/manage/workflows/workflows.component.ts + 97 + + + + Document deleted + + src/app/components/admin/trash/trash.component.ts + 63 + + + + This operation will permanently delete documents in the trash. + + src/app/components/admin/trash/trash.component.ts + 74,76 + + + + all + + src/app/components/admin/trash/trash.component.ts + 75,76 + + + + Document(s) deleted + + src/app/components/admin/trash/trash.component.ts + 86 + + + + Document restored + + src/app/components/admin/trash/trash.component.ts + 95 + + + + Document(s) restored + + src/app/components/admin/trash/trash.component.ts + 104 + + Users & Groups @@ -2247,41 +2454,6 @@ 115 - - This operation cannot be undone. - - src/app/components/admin/users-groups/users-groups.component.ts - 116 - - - src/app/components/admin/users-groups/users-groups.component.ts - 166 - - - src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 714 - - - src/app/components/manage/custom-fields/custom-fields.component.ts - 73 - - - src/app/components/manage/mail/mail.component.ts - 114 - - - src/app/components/manage/mail/mail.component.ts - 173 - - - src/app/components/manage/management-list/management-list.component.ts - 322 - - - src/app/components/manage/workflows/workflows.component.ts - 97 - - Proceed @@ -2310,15 +2482,15 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 755 + 758 src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 788 + 791 src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 807 + 810 src/app/components/manage/custom-fields/custom-fields.component.ts @@ -2433,11 +2605,11 @@ src/app/components/app-frame/app-frame.component.html - 272 + 279 src/app/components/app-frame/app-frame.component.html - 275 + 282 @@ -2612,42 +2784,42 @@ GitHub src/app/components/app-frame/app-frame.component.html - 282 + 289 is available. src/app/components/app-frame/app-frame.component.html - 291,292 + 298,299 Click to view. src/app/components/app-frame/app-frame.component.html - 292 + 299 Paperless-ngx can automatically check for updates src/app/components/app-frame/app-frame.component.html - 296 + 303 How does this work? src/app/components/app-frame/app-frame.component.html - 303,305 + 310,312 Update available src/app/components/app-frame/app-frame.component.html - 316 + 323 @@ -2887,6 +3059,10 @@ src/app/components/common/permissions-dialog/permissions-dialog.component.html 26 + + src/app/components/document-detail/document-detail.component.ts + 776 + src/app/components/document-list/bulk-editor/bulk-editor.component.ts 401 @@ -2907,6 +3083,10 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 579 + + src/app/components/document-list/bulk-editor/bulk-editor.component.ts + 712 + Page @@ -5864,41 +6044,34 @@ 749 - - Confirm delete - - src/app/components/document-detail/document-detail.component.ts - 776 - - - src/app/components/manage/management-list/management-list.component.ts - 203 - - - src/app/components/manage/management-list/management-list.component.ts - 320 - - - - Do you really want to delete document ""? + + Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts 777 - - The files for this document will be deleted permanently. This operation cannot be undone. + + Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts 778 + + src/app/components/document-list/bulk-editor/bulk-editor.component.ts + 714 + - - Delete document + + Move to trash src/app/components/document-detail/document-detail.component.ts 780 + + src/app/components/document-list/bulk-editor/bulk-editor.component.ts + 716 + Error deleting document @@ -5915,7 +6088,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 751 + 754 @@ -5989,7 +6162,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 784 + 787 @@ -6364,74 +6537,60 @@ 571,575 - - Delete confirm - - src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 712 - - - - This operation will permanently delete selected document(s). + + Move selected document(s) to the trash? src/app/components/document-list/bulk-editor/bulk-editor.component.ts 713 - - Delete document(s) - - src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 716 - - This operation will permanently recreate the archive files for selected document(s). src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 752 + 755 The archive files will be re-generated with the current settings. src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 753 + 756 This operation will permanently rotate the original version of document(s). src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 785 + 788 This will alter the original copy. src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 786 + 789 Merge confirm src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 805 + 808 This operation will merge selected documents into a new document. src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 806 + 809 Merged document will be queued for consumption. src/app/components/document-list/bulk-editor/bulk-editor.component.ts - 822 + 825 diff --git a/src-ui/src/app/components/admin/settings/settings.component.html b/src-ui/src/app/components/admin/settings/settings.component.html index bcab7de33..285599639 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.html +++ b/src-ui/src/app/components/admin/settings/settings.component.html @@ -192,7 +192,7 @@
- +
diff --git a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts index cbc8cc4bf..6a58abf1e 100644 --- a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts +++ b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.spec.ts @@ -858,7 +858,7 @@ describe('BulkEditorComponent', () => { ) }) - it('should support bulk delete with confirmation', () => { + it('should support bulk delete with confirmation or without', () => { let modal: NgbModalRef modalService.activeInstances.subscribe((m) => (modal = m[0])) jest.spyOn(permissionsService, 'currentUserCan').mockReturnValue(true) @@ -891,6 +891,13 @@ describe('BulkEditorComponent', () => { httpTestingController.match( `${environment.apiBaseUrl}documents/?page=1&page_size=100000&fields=id` ) // listAllFilteredIds + + component.showConfirmationDialogs = false + fixture.detectChanges() + component.applyDelete() + req = httpTestingController.expectOne( + `${environment.apiBaseUrl}documents/bulk_edit/` + ) }) it('should not be accessible with insufficient global permissions', () => { diff --git a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts index 763e69b0e..f823fe2bb 100644 --- a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts +++ b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -705,20 +705,24 @@ export class BulkEditorComponent } applyDelete() { - let modal = this.modalService.open(ConfirmDialogComponent, { - backdrop: 'static', - }) - modal.componentInstance.title = $localize`Confirm` - modal.componentInstance.messageBold = $localize`Move ${this.list.selected.size} selected document(s) to the trash?` - modal.componentInstance.message = $localize`Documents can be restored prior to permanent deletion.` - modal.componentInstance.btnClass = 'btn-danger' - modal.componentInstance.btnCaption = $localize`Move to trash` - modal.componentInstance.confirmClicked - .pipe(takeUntil(this.unsubscribeNotifier)) - .subscribe(() => { - modal.componentInstance.buttonsEnabled = false - this.executeBulkOperation(modal, 'delete', {}) + if (this.showConfirmationDialogs) { + let modal = this.modalService.open(ConfirmDialogComponent, { + backdrop: 'static', }) + modal.componentInstance.title = $localize`Confirm` + modal.componentInstance.messageBold = $localize`Move ${this.list.selected.size} selected document(s) to the trash?` + modal.componentInstance.message = $localize`Documents can be restored prior to permanent deletion.` + modal.componentInstance.btnClass = 'btn-danger' + modal.componentInstance.btnCaption = $localize`Move to trash` + modal.componentInstance.confirmClicked + .pipe(takeUntil(this.unsubscribeNotifier)) + .subscribe(() => { + modal.componentInstance.buttonsEnabled = false + this.executeBulkOperation(modal, 'delete', {}) + }) + } else { + this.executeBulkOperation(null, 'delete', {}) + } } downloadSelected() {