diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index ccaf1a09e..27d22dfd0 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -255,7 +255,7 @@ src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html - 63 + 66 @@ -287,7 +287,7 @@ src/app/components/document-detail/document-detail.component.html - 82 + 96 @@ -345,6 +345,10 @@ src/app/app.component.ts 172 + + src/app/components/manage/mail/mail.component.html + 4 + Workflows give you more control over the document pipeline. @@ -359,6 +363,10 @@ src/app/app.component.ts 188 + + src/app/components/admin/tasks/tasks.component.html + 4 + Check out the settings for various tweaks to the web app and toggle settings for saved views. @@ -392,25 +400,25 @@ Application Configuration src/app/components/admin/config/config.component.html - 1 + 2 - - Global Paperless-ngx configuration options + + Global app configuration options which apply to <strong>every</strong> user of this install of Paperless-ngx. Options can also be set using environment variables or the configuration file but the value here will always take precedence. src/app/components/admin/config/config.component.html - 1 + 4 src/app/components/admin/config/config.component.html - 8,9 + 14,15 src/app/components/admin/tasks/tasks.component.html - 7 + 16 src/app/components/common/input/tags/tags.component.html @@ -425,36 +433,36 @@ Read the documentation about this setting src/app/components/admin/config/config.component.html - 19 + 25 Enable src/app/components/admin/config/config.component.html - 28 + 36 Discard src/app/components/admin/config/config.component.html - 47 + 55 src/app/components/document-detail/document-detail.component.html - 323 + 339 Save src/app/components/admin/config/config.component.html - 50 + 58 src/app/components/admin/settings/settings.component.html - 333 + 342 src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.html @@ -494,15 +502,15 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 159 + 171 src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html - 55 + 58 src/app/components/document-detail/document-detail.component.html - 315 + 331 src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.html @@ -555,49 +563,56 @@ Logs src/app/components/admin/logs/logs.component.html - 1 + 2 src/app/components/app-frame/app-frame.component.html - 267 + 319 src/app/components/app-frame/app-frame.component.html - 270 + 324 + + + + Review the log files for the application and for email checking. + + src/app/components/admin/logs/logs.component.html + 4 Auto refresh src/app/components/admin/logs/logs.component.html - 4 + 8 src/app/components/admin/tasks/tasks.component.html - 11 + 20 Loading... src/app/components/admin/logs/logs.component.html - 20 + 24 src/app/components/admin/logs/logs.component.html - 32 + 36 src/app/components/admin/settings/settings.component.html - 321 + 330 src/app/components/admin/tasks/tasks.component.html - 18 + 27 src/app/components/admin/users-groups/users-groups.component.html - 88 + 108 src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html @@ -605,7 +620,7 @@ src/app/components/common/input/document-link/document-link.component.html - 38 + 44 src/app/components/common/permissions-dialog/permissions-dialog.component.html @@ -617,286 +632,293 @@ src/app/components/dashboard/widgets/widget-frame/widget-frame.component.html - 14 + 16 src/app/components/document-detail/document-detail.component.html - 332 + 348 src/app/components/document-list/document-list.component.html - 93 + 105 src/app/components/manage/mail/mail.component.html - 95 + 119 src/app/components/manage/management-list/management-list.component.html - 48 + 55 src/app/components/manage/management-list/management-list.component.html - 48 + 55 src/app/components/manage/management-list/management-list.component.html - 48 + 55 src/app/components/manage/management-list/management-list.component.html - 48 + 55 Settings src/app/components/admin/settings/settings.component.html - 1 + 2 src/app/components/admin/settings/settings.component.html - 280 + 289 src/app/components/app-frame/app-frame.component.html - 59 + 69 src/app/components/app-frame/app-frame.component.html - 233 + 277 src/app/components/app-frame/app-frame.component.html - 235 + 281 + + + + Options to customize appearance, notifications, saved views and more. Settings apply to the <strong>current user only</strong>. + + src/app/components/admin/settings/settings.component.html + 4 Start tour src/app/components/admin/settings/settings.component.html - 2 + 7 Open Django Admin src/app/components/admin/settings/settings.component.html - 4 + 9 General src/app/components/admin/settings/settings.component.html - 13 + 20 Appearance src/app/components/admin/settings/settings.component.html - 16 + 23 Display language src/app/components/admin/settings/settings.component.html - 20 + 27 You need to reload the page after applying a new language. src/app/components/admin/settings/settings.component.html - 33 + 40 Date display src/app/components/admin/settings/settings.component.html - 41 + 48 Date format src/app/components/admin/settings/settings.component.html - 58 + 65 Short: src/app/components/admin/settings/settings.component.html - 64,65 + 71,72 Medium: src/app/components/admin/settings/settings.component.html - 68,69 + 75,76 Long: src/app/components/admin/settings/settings.component.html - 72,73 + 79,80 Items per page src/app/components/admin/settings/settings.component.html - 80 + 87 Document editor src/app/components/admin/settings/settings.component.html - 96 + 103 Use PDF viewer provided by the browser src/app/components/admin/settings/settings.component.html - 100 + 107 This is usually faster for displaying large PDF documents, but it might not work on some browsers. src/app/components/admin/settings/settings.component.html - 100 + 107 Sidebar src/app/components/admin/settings/settings.component.html - 107 + 114 Use 'slim' sidebar (icons only) src/app/components/admin/settings/settings.component.html - 111 + 118 Dark mode src/app/components/admin/settings/settings.component.html - 118 + 125 Use system settings src/app/components/admin/settings/settings.component.html - 121 + 128 Enable dark mode src/app/components/admin/settings/settings.component.html - 122 + 129 Invert thumbnails in dark mode src/app/components/admin/settings/settings.component.html - 123 + 130 Theme Color src/app/components/admin/settings/settings.component.html - 129 + 136 Reset src/app/components/admin/settings/settings.component.html - 136 + 145 Update checking src/app/components/admin/settings/settings.component.html - 141 + 150 Update checking works by pinging the public GitHub API for the latest release to determine whether a new version is available. Actual updating of the app must still be performed manually. src/app/components/admin/settings/settings.component.html - 145,148 + 154,157 No tracking data is collected by the app in any way. src/app/components/admin/settings/settings.component.html - 150,152 + 159,161 Enable update checking src/app/components/admin/settings/settings.component.html - 152 + 161 Bulk editing src/app/components/admin/settings/settings.component.html - 156 + 165 Show confirmation dialogs src/app/components/admin/settings/settings.component.html - 160 + 169 Deleting documents will always ask for confirmation. src/app/components/admin/settings/settings.component.html - 160 + 169 Apply on close src/app/components/admin/settings/settings.component.html - 161 + 170 Notes src/app/components/admin/settings/settings.component.html - 165 + 174 src/app/components/document-list/document-list.component.html - 173 + 187 src/app/services/rest/document.service.ts @@ -907,14 +929,14 @@ Enable notes src/app/components/admin/settings/settings.component.html - 169 + 178 Permissions src/app/components/admin/settings/settings.component.html - 177 + 186 src/app/components/common/edit-dialog/group-edit-dialog/group-edit-dialog.component.html @@ -930,67 +952,67 @@ src/app/components/document-detail/document-detail.component.html - 281 + 297 src/app/components/document-list/bulk-editor/bulk-editor.component.html - 70 + 78 src/app/components/document-list/filter-editor/filter-editor.component.html - 82 + 84 src/app/components/manage/mail/mail.component.html - 31 + 44 src/app/components/manage/mail/mail.component.html - 75 + 97 src/app/components/manage/management-list/management-list.component.html - 6 + 10 src/app/components/manage/management-list/management-list.component.html - 6 + 10 src/app/components/manage/management-list/management-list.component.html - 6 + 10 src/app/components/manage/management-list/management-list.component.html - 6 + 10 Default Permissions src/app/components/admin/settings/settings.component.html - 180 + 189 Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI src/app/components/admin/settings/settings.component.html - 184,186 + 193,195 Default Owner src/app/components/admin/settings/settings.component.html - 191 + 200 Objects without an owner can be viewed and edited by all users src/app/components/admin/settings/settings.component.html - 195 + 204 src/app/components/common/input/permissions/permissions-form/permissions-form.component.html @@ -1001,26 +1023,26 @@ Default View Permissions src/app/components/admin/settings/settings.component.html - 200 + 209 Users: src/app/components/admin/settings/settings.component.html - 205 + 214 src/app/components/admin/settings/settings.component.html - 232 + 241 src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 104 + 116 src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 123 + 135 src/app/components/common/input/permissions/permissions-form/permissions-form.component.html @@ -1035,19 +1057,19 @@ Groups: src/app/components/admin/settings/settings.component.html - 215 + 224 src/app/components/admin/settings/settings.component.html - 242 + 251 src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 112 + 124 src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 131 + 143 src/app/components/common/input/permissions/permissions-form/permissions-form.component.html @@ -1062,18 +1084,18 @@ Default Edit Permissions src/app/components/admin/settings/settings.component.html - 227 + 236 Edit permissions also grant viewing permissions src/app/components/admin/settings/settings.component.html - 251 + 260 src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 137 + 149 src/app/components/common/input/permissions/permissions-form/permissions-form.component.html @@ -1084,97 +1106,97 @@ Notifications src/app/components/admin/settings/settings.component.html - 259 + 268 Document processing src/app/components/admin/settings/settings.component.html - 262 + 271 Show notifications when new documents are detected src/app/components/admin/settings/settings.component.html - 266 + 275 Show notifications when document processing completes successfully src/app/components/admin/settings/settings.component.html - 267 + 276 Show notifications when document processing fails src/app/components/admin/settings/settings.component.html - 268 + 277 Suppress notifications on dashboard src/app/components/admin/settings/settings.component.html - 269 + 278 This will suppress all messages about document processing status on the dashboard. src/app/components/admin/settings/settings.component.html - 269 + 278 Saved views src/app/components/admin/settings/settings.component.html - 277 + 286 src/app/components/app-frame/app-frame.component.html - 106 + 126 Show warning when closing saved views with unsaved changes src/app/components/admin/settings/settings.component.html - 283 + 292 Views src/app/components/admin/settings/settings.component.html - 287 + 296 src/app/components/document-list/document-list.component.html - 54 + 66 Name src/app/components/admin/settings/settings.component.html - 293 + 302 src/app/components/admin/tasks/tasks.component.html - 31 + 40 src/app/components/admin/users-groups/users-groups.component.html - 15 + 24 src/app/components/admin/users-groups/users-groups.component.html - 53 + 69 src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.html @@ -1218,65 +1240,65 @@ src/app/components/manage/custom-fields/custom-fields.component.html - 11 + 20 src/app/components/manage/mail/mail.component.html - 14 + 23 src/app/components/manage/mail/mail.component.html - 58 + 76 src/app/components/manage/management-list/management-list.component.html - 17 + 24 src/app/components/manage/management-list/management-list.component.html - 17 + 24 src/app/components/manage/management-list/management-list.component.html - 17 + 24 src/app/components/manage/management-list/management-list.component.html - 17 + 24 src/app/components/manage/management-list/management-list.component.html - 34 + 41 src/app/components/manage/management-list/management-list.component.html - 34 + 41 src/app/components/manage/management-list/management-list.component.html - 34 + 41 src/app/components/manage/management-list/management-list.component.html - 34 + 41 src/app/components/manage/workflows/workflows.component.html - 11 + 20  Appears on src/app/components/admin/settings/settings.component.html - 297,298 + 306,307 Show on dashboard src/app/components/admin/settings/settings.component.html - 300 + 309 src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.html @@ -1287,7 +1309,7 @@ Show in sidebar src/app/components/admin/settings/settings.component.html - 304 + 313 src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.html @@ -1298,114 +1320,39 @@ Actions src/app/components/admin/settings/settings.component.html - 308 + 317 src/app/components/admin/tasks/tasks.component.html - 37 + 46 src/app/components/admin/users-groups/users-groups.component.html - 17 + 26 src/app/components/admin/users-groups/users-groups.component.html - 56 + 72 src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 60 + 66 src/app/components/document-detail/document-detail.component.html - 43 + 49 src/app/components/document-list/bulk-editor/bulk-editor.component.html - 76 + 86 src/app/components/manage/custom-fields/custom-fields.component.html - 13 - - - src/app/components/manage/mail/mail.component.html - 16 - - - src/app/components/manage/mail/mail.component.html - 60 - - - src/app/components/manage/management-list/management-list.component.html - 40 - - - src/app/components/manage/management-list/management-list.component.html - 40 - - - src/app/components/manage/management-list/management-list.component.html - 40 - - - src/app/components/manage/management-list/management-list.component.html - 40 - - - src/app/components/manage/workflows/workflows.component.html - 15 - - - - Delete - - src/app/components/admin/settings/settings.component.html - 309 - - - src/app/components/admin/users-groups/users-groups.component.html - 32 - - - src/app/components/admin/users-groups/users-groups.component.html - 71 - - - src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts - 53 - - - src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 42 - - - src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 80 - - - src/app/components/common/permissions-select/permissions-select.component.html - 9 - - - src/app/components/common/share-links-dropdown/share-links-dropdown.component.html - 37 - - - src/app/components/document-detail/document-detail.component.html 22 - - src/app/components/document-list/bulk-editor/bulk-editor.component.html - 128 - - - src/app/components/manage/custom-fields/custom-fields.component.html - 28 - src/app/components/manage/mail/mail.component.html - 34 + 25 src/app/components/manage/mail/mail.component.html @@ -1413,35 +1360,110 @@ src/app/components/manage/management-list/management-list.component.html - 81 + 47 src/app/components/manage/management-list/management-list.component.html - 81 + 47 src/app/components/manage/management-list/management-list.component.html - 81 + 47 src/app/components/manage/management-list/management-list.component.html - 81 + 47 + + + src/app/components/manage/workflows/workflows.component.html + 24 + + + + Delete + + src/app/components/admin/settings/settings.component.html + 318 + + + src/app/components/admin/users-groups/users-groups.component.html + 45 + + + src/app/components/admin/users-groups/users-groups.component.html + 91 + + + src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts + 53 + + + src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html + 48 + + + src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html + 92 + + + src/app/components/common/permissions-select/permissions-select.component.html + 9 + + + src/app/components/common/share-links-dropdown/share-links-dropdown.component.html + 44 + + + src/app/components/document-detail/document-detail.component.html + 24 + + + src/app/components/document-list/bulk-editor/bulk-editor.component.html + 142 + + + src/app/components/manage/custom-fields/custom-fields.component.html + 41 + + + src/app/components/manage/mail/mail.component.html + 49 + + + src/app/components/manage/mail/mail.component.html + 102 src/app/components/manage/management-list/management-list.component.html - 93 + 90 src/app/components/manage/management-list/management-list.component.html - 93 + 90 src/app/components/manage/management-list/management-list.component.html - 93 + 90 src/app/components/manage/management-list/management-list.component.html - 93 + 90 + + + src/app/components/manage/management-list/management-list.component.html + 108 + + + src/app/components/manage/management-list/management-list.component.html + 108 + + + src/app/components/manage/management-list/management-list.component.html + 108 + + + src/app/components/manage/management-list/management-list.component.html + 108 src/app/components/manage/management-list/management-list.component.ts @@ -1449,14 +1471,14 @@ src/app/components/manage/workflows/workflows.component.html - 32 + 45 No saved views defined. src/app/components/admin/settings/settings.component.html - 315 + 324 @@ -1545,41 +1567,41 @@ File Tasks src/app/components/admin/tasks/tasks.component.html - 1 + 2 src/app/components/app-frame/app-frame.component.html - 256 + 306 Clear selection src/app/components/admin/tasks/tasks.component.html - 4 + 11 src/app/components/manage/management-list/management-list.component.html - 3 + 5 src/app/components/manage/management-list/management-list.component.html - 3 + 5 src/app/components/manage/management-list/management-list.component.html - 3 + 5 src/app/components/manage/management-list/management-list.component.html - 3 + 5 Created src/app/components/admin/tasks/tasks.component.html - 32 + 41 src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html @@ -1587,11 +1609,11 @@ src/app/components/document-list/document-list.component.html - 195 + 209 src/app/components/document-list/filter-editor/filter-editor.component.html - 68 + 70 src/app/services/rest/document.service.ts @@ -1602,28 +1624,28 @@ Results src/app/components/admin/tasks/tasks.component.html - 34 + 43 Info src/app/components/admin/tasks/tasks.component.html - 36 + 45 click for full output src/app/components/admin/tasks/tasks.component.html - 67 + 76 Dismiss src/app/components/admin/tasks/tasks.component.html - 80 + 93 src/app/components/admin/tasks/tasks.component.ts @@ -1634,42 +1656,49 @@ Open Document src/app/components/admin/tasks/tasks.component.html - 85 + 100 {VAR_PLURAL, plural, =1 {One task} other { total tasks}} src/app/components/admin/tasks/tasks.component.html - 103 + 119 + + + +  ( selected) + + src/app/components/admin/tasks/tasks.component.html + 121 Failed src/app/components/admin/tasks/tasks.component.html - 113,115 + 133,135 Complete src/app/components/admin/tasks/tasks.component.html - 121,123 + 141,143 Started src/app/components/admin/tasks/tasks.component.html - 129,131 + 149,151 Queued src/app/components/admin/tasks/tasks.component.html - 137,139 + 157,159 @@ -1732,40 +1761,47 @@ Users & Groups src/app/components/admin/users-groups/users-groups.component.html - 1 + 2 src/app/components/app-frame/app-frame.component.html - 247 + 295 src/app/components/app-frame/app-frame.component.html - 249 + 299 + + + + Create, delete and edit users and groups. + + src/app/components/admin/users-groups/users-groups.component.html + 4 Users src/app/components/admin/users-groups/users-groups.component.html - 6 + 12 src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html - 76 + 90 Add User src/app/components/admin/users-groups/users-groups.component.html - 8 + 17 Username src/app/components/admin/users-groups/users-groups.component.html - 14 + 23 src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html @@ -1780,11 +1816,11 @@ Groups src/app/components/admin/users-groups/users-groups.component.html - 16 + 25 src/app/components/admin/users-groups/users-groups.component.html - 44 + 57 src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html @@ -1795,11 +1831,11 @@ Edit src/app/components/admin/users-groups/users-groups.component.html - 29 + 40 src/app/components/admin/users-groups/users-groups.component.html - 68 + 86 src/app/components/common/input/permissions/permissions-form/permissions-form.component.html @@ -1811,73 +1847,73 @@ src/app/components/document-list/document-card-large/document-card-large.component.html - 55 + 61 src/app/components/document-list/document-card-small/document-card-small.component.html - 91 + 105 src/app/components/manage/custom-fields/custom-fields.component.html - 25 + 36 src/app/components/manage/mail/mail.component.html - 28 + 39 src/app/components/manage/mail/mail.component.html - 72 + 92 src/app/components/manage/management-list/management-list.component.html - 80 + 89 src/app/components/manage/management-list/management-list.component.html - 80 + 89 src/app/components/manage/management-list/management-list.component.html - 80 + 89 src/app/components/manage/management-list/management-list.component.html - 80 + 89 src/app/components/manage/management-list/management-list.component.html - 90 + 103 src/app/components/manage/management-list/management-list.component.html - 90 + 103 src/app/components/manage/management-list/management-list.component.html - 90 + 103 src/app/components/manage/management-list/management-list.component.html - 90 + 103 src/app/components/manage/workflows/workflows.component.html - 29 + 40 Add Group src/app/components/admin/users-groups/users-groups.component.html - 46 + 62 No groups defined src/app/components/admin/users-groups/users-groups.component.html - 79 + 99 @@ -2060,54 +2096,54 @@ Search documents src/app/components/app-frame/app-frame.component.html - 31 + 33 Logged in as src/app/components/app-frame/app-frame.component.html - 51 + 57 My Profile src/app/components/app-frame/app-frame.component.html - 55 + 63 Logout src/app/components/app-frame/app-frame.component.html - 62 + 74 Documentation src/app/components/app-frame/app-frame.component.html - 67 + 81 src/app/components/app-frame/app-frame.component.html - 275 + 329 src/app/components/app-frame/app-frame.component.html - 278 + 334 Dashboard src/app/components/app-frame/app-frame.component.html - 90 + 106 src/app/components/app-frame/app-frame.component.html - 92 + 110 src/app/components/dashboard/dashboard.component.html @@ -2118,11 +2154,11 @@ Documents src/app/components/app-frame/app-frame.component.html - 97 + 115 src/app/components/app-frame/app-frame.component.html - 99 + 119 src/app/components/document-list/document-list.component.ts @@ -2130,55 +2166,55 @@ src/app/components/manage/management-list/management-list.component.html - 87 + 98 src/app/components/manage/management-list/management-list.component.html - 87 + 98 src/app/components/manage/management-list/management-list.component.html - 87 + 98 src/app/components/manage/management-list/management-list.component.html - 87 + 98 Open documents src/app/components/app-frame/app-frame.component.html - 136 + 160 Close all src/app/components/app-frame/app-frame.component.html - 156 + 184 src/app/components/app-frame/app-frame.component.html - 158 + 188 Manage src/app/components/app-frame/app-frame.component.html - 166 + 196 Correspondents src/app/components/app-frame/app-frame.component.html - 172 + 202 src/app/components/app-frame/app-frame.component.html - 174 + 206 src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html @@ -2189,11 +2225,11 @@ Tags src/app/components/app-frame/app-frame.component.html - 179 + 211 src/app/components/app-frame/app-frame.component.html - 182 + 216 src/app/components/common/input/tags/tags.component.ts @@ -2209,22 +2245,22 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html - 20 + 26 src/app/components/document-list/filter-editor/filter-editor.component.html - 32 + 34 Document Types src/app/components/app-frame/app-frame.component.html - 188 + 222 src/app/components/app-frame/app-frame.component.html - 190 + 226 src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html @@ -2235,11 +2271,11 @@ Storage Paths src/app/components/app-frame/app-frame.component.html - 195 + 231 src/app/components/app-frame/app-frame.component.html - 197 + 235 src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html @@ -2250,112 +2286,112 @@ Custom Fields src/app/components/app-frame/app-frame.component.html - 202 + 240 src/app/components/app-frame/app-frame.component.html - 204 + 244 src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html - 4 + 6 src/app/components/manage/custom-fields/custom-fields.component.html - 1 + 2 Workflows src/app/components/app-frame/app-frame.component.html - 211 + 251 src/app/components/app-frame/app-frame.component.html - 213 + 255 src/app/components/manage/workflows/workflows.component.html - 1 + 2 Mail src/app/components/app-frame/app-frame.component.html - 218 + 260 src/app/components/app-frame/app-frame.component.html - 221 + 265 Administration src/app/components/app-frame/app-frame.component.html - 227 + 271 Configuration src/app/components/app-frame/app-frame.component.html - 240 + 286 src/app/components/app-frame/app-frame.component.html - 242 + 290 - File Tasks + File Tasks src/app/components/app-frame/app-frame.component.html - 261,263 + 313,315 GitHub src/app/components/app-frame/app-frame.component.html - 285 + 341 is available. src/app/components/app-frame/app-frame.component.html - 294,295 + 350,351 Click to view. src/app/components/app-frame/app-frame.component.html - 295 + 351 Paperless-ngx can automatically check for updates src/app/components/app-frame/app-frame.component.html - 299 + 355 How does this work? src/app/components/app-frame/app-frame.component.html - 306,308 + 362,364 Update available src/app/components/app-frame/app-frame.component.html - 319 + 378 @@ -2387,11 +2423,11 @@ src/app/components/common/date-dropdown/date-dropdown.component.html - 34 + 38 src/app/components/common/date-dropdown/date-dropdown.component.html - 55 + 63 @@ -2472,7 +2508,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 158 + 170 src/app/components/common/permissions-dialog/permissions-dialog.component.html @@ -2480,7 +2516,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html - 54 + 57 src/app/components/common/select-dialog/select-dialog.component.html @@ -2488,7 +2524,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html - 4 + 6 src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.html @@ -2499,14 +2535,14 @@ Create New Field src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html - 21 + 25 Add src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html - 24 + 30 src/app/components/common/permissions-select/permissions-select.component.html @@ -2553,21 +2589,21 @@ now src/app/components/common/date-dropdown/date-dropdown.component.html - 21 + 23 After src/app/components/common/date-dropdown/date-dropdown.component.html - 30 + 32 Before src/app/components/common/date-dropdown/date-dropdown.component.html - 51 + 57 @@ -2656,7 +2692,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 182 + 194 @@ -2864,7 +2900,7 @@ src/app/components/manage/mail/mail.component.html - 59 + 77 @@ -3022,7 +3058,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 92 + 104 @@ -3040,7 +3076,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 93 + 105 @@ -3058,11 +3094,11 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 156 + 168 src/app/components/common/toasts/toasts.component.html - 28 + 30 @@ -3349,7 +3385,7 @@ src/app/components/manage/workflows/workflows.component.html - 12 + 21 @@ -3360,7 +3396,7 @@ src/app/components/manage/workflows/workflows.component.html - 24 + 33 @@ -3371,7 +3407,7 @@ src/app/components/manage/workflows/workflows.component.html - 14 + 23 @@ -3385,182 +3421,182 @@ Add Trigger src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 30 + 33 Apply Actions: src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 66 + 72 Add Action src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 68 + 77 Action type src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 86 + 98 Assign title src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 90 + 102 Can include some placeholders, see <a target='_blank' href='https://docs.paperless-ngx.com/usage/#workflows'>documentation</a>. src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 90 + 102 Assign tags src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 91 + 103 Assign storage path src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 94 + 106 Assign custom fields src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 95 + 107 Assign owner src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 98 + 110 Assign view permissions src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 100 + 112 Assign edit permissions src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 119 + 131 Trigger type src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 166 + 178 Trigger for documents that match all filters specified below. src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 167 + 179 Filter filename src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 170 + 182 Apply to documents that match this filename. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive. src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 170 + 182 Filter sources src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 172 + 184 Filter path src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 173 + 185 Apply to documents that match this path. Wildcards specified as * are allowed. Case-normalized.</a> src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 173 + 185 Filter mail rule src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 174 + 186 Apply to documents consumed via this mail rule. src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 174 + 186 Content matching algorithm src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 177 + 189 Content matching pattern src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 179 + 191 Has tags src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 188 + 200 Has correspondent src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 189 + 201 Has document type src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html - 190 + 202 @@ -3630,11 +3666,11 @@ All src/app/components/common/filterable-dropdown/filterable-dropdown.component.html - 15 + 17 src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html - 16 + 20 src/app/components/common/permissions-select/permissions-select.component.html @@ -3646,42 +3682,42 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html - 14 + 20 Any src/app/components/common/filterable-dropdown/filterable-dropdown.component.html - 17 + 19 Include src/app/components/common/filterable-dropdown/filterable-dropdown.component.html - 25 + 27 Exclude src/app/components/common/filterable-dropdown/filterable-dropdown.component.html - 27 + 29 Apply src/app/components/common/filterable-dropdown/filterable-dropdown.component.html - 49 + 51 Click again to exclude items. src/app/components/common/filterable-dropdown/filterable-dropdown.component.html - 55 + 59 @@ -3696,65 +3732,65 @@ Remove src/app/components/common/input/check/check.component.html - 8 + 10 src/app/components/common/input/date/date.component.html - 7 + 9 src/app/components/common/input/document-link/document-link.component.html - 9 + 11 src/app/components/common/input/file/file.component.html - 9 + 11 src/app/components/common/input/file/file.component.html - 21 + 25 src/app/components/common/input/number/number.component.html - 9 + 11 src/app/components/common/input/select/select.component.html - 9 + 11 src/app/components/common/input/switch/switch.component.html - 13 + 17 src/app/components/common/input/text/text.component.html - 9 + 11 src/app/components/common/input/url/url.component.html - 7 + 9 Invalid date. src/app/components/common/input/date/date.component.html - 25 + 31 Suggestions: src/app/components/common/input/date/date.component.html - 31 + 37 src/app/components/common/input/select/select.component.html - 58 + 64 src/app/components/common/input/tags/tags.component.html - 51 + 57 @@ -3779,7 +3815,7 @@ Upload src/app/components/common/input/file/file.component.html - 15 + 17 @@ -3815,14 +3851,14 @@ src/app/components/document-list/document-card-large/document-card-large.component.html - 60 + 68 Add item src/app/components/common/input/select/select.component.html - 23 + 25 Used for both types, correspondents, storage paths @@ -3856,7 +3892,7 @@ Note: value has not yet been set and will not apply until explicitly changed src/app/components/common/input/switch/switch.component.html - 39 + 45 @@ -3870,14 +3906,28 @@ Filter documents with these Tags src/app/components/common/input/tags/tags.component.html - 41 + 45 Open link src/app/components/common/input/url/url.component.html - 14 + 16 + + + + What's this? + + src/app/components/common/page-header/page-header.component.html + 9 + + + + Read more + + src/app/components/common/page-header/page-header.component.html + 17 @@ -3905,35 +3955,35 @@ My documents src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html - 26 + 32 Shared with me src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html - 36 + 44 Shared by me src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html - 46 + 56 Unowned src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html - 56 + 68 Hide unowned src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html - 86 + 100 @@ -4000,36 +4050,36 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html - 42 + 43 src/app/components/common/share-links-dropdown/share-links-dropdown.component.html - 29 + 32 Regenerate auth token src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html - 44 + 45 Copied! src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html - 48 + 51 src/app/components/common/share-links-dropdown/share-links-dropdown.component.html - 40 + 47 Warning: changing the token cannot be undone src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html - 50 + 53 @@ -4079,7 +4129,7 @@ src/app/components/document-list/document-list.component.html - 6 + 8 @@ -4093,7 +4143,7 @@ Share Links src/app/components/common/share-links-dropdown/share-links-dropdown.component.html - 4 + 6 src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts @@ -4104,51 +4154,35 @@ No existing links src/app/components/common/share-links-dropdown/share-links-dropdown.component.html - 9,11 + 11,13 Share src/app/components/common/share-links-dropdown/share-links-dropdown.component.html - 33 + 38 Share archive version src/app/components/common/share-links-dropdown/share-links-dropdown.component.html - 47 + 54 Expires src/app/components/common/share-links-dropdown/share-links-dropdown.component.html - 51 + 58 Create src/app/components/common/share-links-dropdown/share-links-dropdown.component.html - 64 - - - src/app/components/manage/management-list/management-list.component.html - 9 - - - src/app/components/manage/management-list/management-list.component.html - 9 - - - src/app/components/manage/management-list/management-list.component.html - 9 - - - src/app/components/manage/management-list/management-list.component.html - 9 + 73 @@ -4215,18 +4249,18 @@ Status src/app/components/common/toasts/toasts.component.html - 26 + 28 src/app/components/manage/workflows/workflows.component.html - 13 + 22 Copy Raw Error src/app/components/common/toasts/toasts.component.html - 41 + 44 @@ -4265,7 +4299,7 @@ src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html - 34 + 37 @@ -4276,11 +4310,11 @@ src/app/components/document-detail/document-detail.component.html - 95 + 111 src/app/components/document-list/document-list.component.html - 158 + 172 src/app/components/document-list/filter-editor/filter-editor.component.ts @@ -4299,19 +4333,19 @@ src/app/components/document-detail/document-detail.component.html - 99 + 115 src/app/components/document-list/bulk-editor/bulk-editor.component.html - 32 + 38 src/app/components/document-list/document-list.component.html - 150 + 164 src/app/components/document-list/filter-editor/filter-editor.component.html - 41 + 43 src/app/services/rest/document.service.ts @@ -4329,30 +4363,30 @@ Download src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html - 47 + 49 src/app/components/document-detail/document-detail.component.html - 27 + 31 src/app/components/document-list/bulk-editor/bulk-editor.component.html - 94 + 106 src/app/components/document-list/document-card-large/document-card-large.component.html - 66 + 76 src/app/components/document-list/document-card-small/document-card-small.component.html - 102 + 121 No documents src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html - 57 + 61 @@ -4437,7 +4471,7 @@ {VAR_PLURAL, plural, =1 {One more document} other { more documents}} src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html - 32 + 35 This is shown as a summary line when there are more than 5 document in the processing pipeline. @@ -4524,7 +4558,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html - 11 + 15 @@ -4552,36 +4586,36 @@ Download original src/app/components/document-detail/document-detail.component.html - 34 + 38 Redo OCR src/app/components/document-detail/document-detail.component.html - 47 + 55 src/app/components/document-list/bulk-editor/bulk-editor.component.html - 79 + 89 More like this src/app/components/document-detail/document-detail.component.html - 51 + 61 src/app/components/document-list/document-card-large/document-card-large.component.html - 52 + 56 Close src/app/components/document-detail/document-detail.component.html - 76 + 86 src/app/guards/dirty-saved-view.guard.ts @@ -4592,47 +4626,47 @@ Previous src/app/components/document-detail/document-detail.component.html - 79 + 91 Details src/app/components/document-detail/document-detail.component.html - 92 + 108 Archive serial number src/app/components/document-detail/document-detail.component.html - 96 + 112 Date created src/app/components/document-detail/document-detail.component.html - 97 + 113 Document type src/app/components/document-detail/document-detail.component.html - 101 + 117 src/app/components/document-list/bulk-editor/bulk-editor.component.html - 43 + 49 src/app/components/document-list/document-list.component.html - 181 + 195 src/app/components/document-list/filter-editor/filter-editor.component.html - 49 + 51 src/app/services/rest/document.service.ts @@ -4643,40 +4677,40 @@ Storage path src/app/components/document-detail/document-detail.component.html - 103 + 119 src/app/components/document-list/bulk-editor/bulk-editor.component.html - 54 + 60 src/app/components/document-list/document-list.component.html - 188 + 202 src/app/components/document-list/filter-editor/filter-editor.component.html - 57 + 59 Default src/app/components/document-detail/document-detail.component.html - 104 + 120 Content src/app/components/document-detail/document-detail.component.html - 190 + 206 Metadata src/app/components/document-detail/document-detail.component.html - 199 + 215 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -4687,116 +4721,116 @@ Date modified src/app/components/document-detail/document-detail.component.html - 206 + 222 Date added src/app/components/document-detail/document-detail.component.html - 210 + 226 Media filename src/app/components/document-detail/document-detail.component.html - 214 + 230 Original filename src/app/components/document-detail/document-detail.component.html - 218 + 234 Original MD5 checksum src/app/components/document-detail/document-detail.component.html - 222 + 238 Original file size src/app/components/document-detail/document-detail.component.html - 226 + 242 Original mime type src/app/components/document-detail/document-detail.component.html - 230 + 246 Archive MD5 checksum src/app/components/document-detail/document-detail.component.html - 235 + 251 Archive file size src/app/components/document-detail/document-detail.component.html - 241 + 257 Original document metadata src/app/components/document-detail/document-detail.component.html - 250 + 266 Archived document metadata src/app/components/document-detail/document-detail.component.html - 253 + 269 Preview src/app/components/document-detail/document-detail.component.html - 260 + 276 Notes src/app/components/document-detail/document-detail.component.html - 270,273 + 286,289 Enter Password src/app/components/document-detail/document-detail.component.html - 304 + 320 src/app/components/document-detail/document-detail.component.html - 361 + 377 Save & next src/app/components/document-detail/document-detail.component.html - 317 + 333 Save & close src/app/components/document-detail/document-detail.component.html - 320 + 336 @@ -4952,86 +4986,86 @@ Select: src/app/components/document-list/bulk-editor/bulk-editor.component.html - 8 + 10 Edit: src/app/components/document-list/bulk-editor/bulk-editor.component.html - 19 + 25 Filter tags src/app/components/document-list/bulk-editor/bulk-editor.component.html - 21 + 27 src/app/components/document-list/filter-editor/filter-editor.component.html - 33 + 35 Filter correspondents src/app/components/document-list/bulk-editor/bulk-editor.component.html - 33 + 39 src/app/components/document-list/filter-editor/filter-editor.component.html - 42 + 44 Filter document types src/app/components/document-list/bulk-editor/bulk-editor.component.html - 44 + 50 src/app/components/document-list/filter-editor/filter-editor.component.html - 50 + 52 Filter storage paths src/app/components/document-list/bulk-editor/bulk-editor.component.html - 55 + 61 src/app/components/document-list/filter-editor/filter-editor.component.html - 58 + 60 Include: src/app/components/document-list/bulk-editor/bulk-editor.component.html - 100 + 112 Archived files src/app/components/document-list/bulk-editor/bulk-editor.component.html - 104,106 + 116,118 Original files src/app/components/document-list/bulk-editor/bulk-editor.component.html - 110,112 + 122,124 Use formatted filename src/app/components/document-list/bulk-editor/bulk-editor.component.html - 117,119 + 129,131 @@ -5217,7 +5251,7 @@ src/app/components/document-list/document-list.component.html - 218 + 232 @@ -5228,87 +5262,87 @@ src/app/components/document-list/document-list.component.html - 224 + 238 View notes src/app/components/document-list/document-card-large/document-card-large.component.html - 73 + 83 Notes src/app/components/document-list/document-card-large/document-card-large.component.html - 75 + 87 Filter by document type src/app/components/document-list/document-card-large/document-card-large.component.html - 79 + 91 src/app/components/document-list/document-list.component.html - 243 + 259 Filter by storage path src/app/components/document-list/document-card-large/document-card-large.component.html - 86 + 100 src/app/components/document-list/document-list.component.html - 248 + 264 Created: src/app/components/document-list/document-card-large/document-card-large.component.html - 100,101 + 118,119 src/app/components/document-list/document-card-small/document-card-small.component.html - 60,61 + 66,67 Added: src/app/components/document-list/document-card-large/document-card-large.component.html - 101,102 + 119,120 src/app/components/document-list/document-card-small/document-card-small.component.html - 61,62 + 67,68 Modified: src/app/components/document-list/document-card-large/document-card-large.component.html - 102,103 + 120,121 src/app/components/document-list/document-card-small/document-card-small.component.html - 62,63 + 68,69 Shared src/app/components/document-list/document-card-large/document-card-large.component.html - 118 + 142 src/app/components/document-list/document-card-small/document-card-small.component.html - 85 + 99 src/app/pipes/username.pipe.ts @@ -5319,7 +5353,7 @@ Score: src/app/components/document-list/document-card-large/document-card-large.component.html - 123 + 147 @@ -5333,116 +5367,116 @@ Toggle correspondent filter src/app/components/document-list/document-card-small/document-card-small.component.html - 36 + 38 Toggle document type filter src/app/components/document-list/document-card-small/document-card-small.component.html - 44 + 46 Toggle storage path filter src/app/components/document-list/document-card-small/document-card-small.component.html - 51 + 55 Select none src/app/components/document-list/document-list.component.html - 9 + 11 Select page src/app/components/document-list/document-list.component.html - 10 + 12 Select all src/app/components/document-list/document-list.component.html - 11 + 13 Sort src/app/components/document-list/document-list.component.html - 30 + 38 Save "" src/app/components/document-list/document-list.component.html - 73 + 85 Save as... src/app/components/document-list/document-list.component.html - 76 + 88 {VAR_PLURAL, plural, =1 {Selected of one document} other {Selected of documents}} src/app/components/document-list/document-list.component.html - 96 + 108 {VAR_PLURAL, plural, =1 {One document} other { documents}} src/app/components/document-list/document-list.component.html - 100 + 112 (filtered) src/app/components/document-list/document-list.component.html - 102 + 114 Reset filters src/app/components/document-list/document-list.component.html - 107 + 121 src/app/components/document-list/filter-editor/filter-editor.component.html - 88 + 92 Error while loading documents src/app/components/document-list/document-list.component.html - 123 + 137 Sort by ASN src/app/components/document-list/document-list.component.html - 139 + 153 ASN src/app/components/document-list/document-list.component.html - 143 + 157 src/app/components/document-list/filter-editor/filter-editor.component.ts @@ -5457,28 +5491,28 @@ Sort by correspondent src/app/components/document-list/document-list.component.html - 146 + 160 Sort by title src/app/components/document-list/document-list.component.html - 153 + 167 Sort by owner src/app/components/document-list/document-list.component.html - 161 + 175 Owner src/app/components/document-list/document-list.component.html - 165 + 179 src/app/services/rest/document.service.ts @@ -5489,46 +5523,46 @@ Sort by notes src/app/components/document-list/document-list.component.html - 169 + 183 Sort by document type src/app/components/document-list/document-list.component.html - 177 + 191 Sort by storage path src/app/components/document-list/document-list.component.html - 184 + 198 Sort by created date src/app/components/document-list/document-list.component.html - 191 + 205 Sort by added date src/app/components/document-list/document-list.component.html - 198 + 212 Added src/app/components/document-list/document-list.component.html - 202 + 216 src/app/components/document-list/filter-editor/filter-editor.component.html - 74 + 76 src/app/services/rest/document.service.ts @@ -5539,7 +5573,7 @@ Edit document src/app/components/document-list/document-list.component.html - 222 + 236 @@ -5767,7 +5801,7 @@ src/app/components/document-notes/document-notes.component.html - 27 + 29 @@ -5826,25 +5860,32 @@ 67 + + Customize the data fields that can be attached to documents. + + src/app/components/manage/custom-fields/custom-fields.component.html + 4 + + Add Field src/app/components/manage/custom-fields/custom-fields.component.html - 3 + 12 Data Type src/app/components/manage/custom-fields/custom-fields.component.html - 12 + 21 No fields defined. src/app/components/manage/custom-fields/custom-fields.component.html - 36 + 49 @@ -5900,56 +5941,56 @@ Mail Settings src/app/components/manage/mail/mail.component.html - 1 + 2 Mail accounts src/app/components/manage/mail/mail.component.html - 6 + 12 Add Account src/app/components/manage/mail/mail.component.html - 8 + 17 Server src/app/components/manage/mail/mail.component.html - 15 + 24 No mail accounts defined. src/app/components/manage/mail/mail.component.html - 42 + 57 Mail rules src/app/components/manage/mail/mail.component.html - 50 + 65 Add Rule src/app/components/manage/mail/mail.component.html - 52 + 70 No mail rules defined. src/app/components/manage/mail/mail.component.html - 86 + 110 @@ -6068,99 +6109,118 @@ 300 + + Create + + src/app/components/manage/management-list/management-list.component.html + 13,17 + + + src/app/components/manage/management-list/management-list.component.html + 13,17 + + + src/app/components/manage/management-list/management-list.component.html + 13,17 + + + src/app/components/manage/management-list/management-list.component.html + 13,17 + + Filter by: src/app/components/manage/management-list/management-list.component.html - 16 + 23 src/app/components/manage/management-list/management-list.component.html - 16 + 23 src/app/components/manage/management-list/management-list.component.html - 16 + 23 src/app/components/manage/management-list/management-list.component.html - 16 + 23 Matching src/app/components/manage/management-list/management-list.component.html - 35 + 42 src/app/components/manage/management-list/management-list.component.html - 35 + 42 src/app/components/manage/management-list/management-list.component.html - 35 + 42 src/app/components/manage/management-list/management-list.component.html - 35 + 42 Document count src/app/components/manage/management-list/management-list.component.html - 36 + 43 src/app/components/manage/management-list/management-list.component.html - 36 + 43 src/app/components/manage/management-list/management-list.component.html - 36 + 43 src/app/components/manage/management-list/management-list.component.html - 36 + 43 Filter Documents src/app/components/manage/management-list/management-list.component.html - 79 + 88 src/app/components/manage/management-list/management-list.component.html - 79 + 88 src/app/components/manage/management-list/management-list.component.html - 79 + 88 src/app/components/manage/management-list/management-list.component.html - 79 + 88 {VAR_PLURAL, plural, =1 {One } other { total }} src/app/components/manage/management-list/management-list.component.html - 107 + 122 src/app/components/manage/management-list/management-list.component.html - 107 + 122 src/app/components/manage/management-list/management-list.component.html - 107 + 122 src/app/components/manage/management-list/management-list.component.html - 107 + 122 @@ -6276,25 +6336,32 @@ 53 + + Use workflows to customize the behavior of Paperless-ngx when events 'trigger' a workflow. + + src/app/components/manage/workflows/workflows.component.html + 4 + + Add Workflow src/app/components/manage/workflows/workflows.component.html - 3 + 12 Disabled src/app/components/manage/workflows/workflows.component.html - 24 + 33 No workflows defined. src/app/components/manage/workflows/workflows.component.html - 40 + 53 @@ -6350,7 +6417,7 @@ Go to Dashboard src/app/components/not-found/not-found.component.html - 9 + 12 diff --git a/src-ui/src/app/components/admin/config/config.component.html b/src-ui/src/app/components/admin/config/config.component.html index ae133724c..03ca04b7b 100644 --- a/src-ui/src/app/components/admin/config/config.component.html +++ b/src-ui/src/app/components/admin/config/config.component.html @@ -1,4 +1,10 @@ - + +
diff --git a/src-ui/src/app/components/admin/logs/logs.component.html b/src-ui/src/app/components/admin/logs/logs.component.html index bf100b19c..b75f85ae5 100644 --- a/src-ui/src/app/components/admin/logs/logs.component.html +++ b/src-ui/src/app/components/admin/logs/logs.component.html @@ -1,4 +1,8 @@ - +
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 c63ad7473..52e706f2f 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.html +++ b/src-ui/src/app/components/admin/settings/settings.component.html @@ -1,4 +1,9 @@ - + Open Django Admin diff --git a/src-ui/src/app/components/admin/tasks/tasks.component.html b/src-ui/src/app/components/admin/tasks/tasks.component.html index 6c74a82f4..52d85cc8e 100644 --- a/src-ui/src/app/components/admin/tasks/tasks.component.html +++ b/src-ui/src/app/components/admin/tasks/tasks.component.html @@ -1,145 +1,165 @@ - +
- -
- - -
-
-
+ + +  Clear selection + + +
+ + +
+
+
- @if (!tasksService.completedFileTasks && tasksService.loading) { -
-
Loading...
- } +@if (!tasksService.completedFileTasks && tasksService.loading) { +
+
Loading...
+} - - - - - - - - @if (activeTab !== 'started' && activeTab !== 'queued') { - - } - - - - - - @for (task of tasks | slice: (page-1) * pageSize : page * pageSize; track task) { - - - - - @if (activeTab !== 'started' && activeTab !== 'queued') { - - } - - - - - - - } - -
-
- - -
-
NameCreatedResultsInfoActions
-
- - -
-
{{ task.task_file_name }}{{ task.date_created | customDate:'short' }} - @if (task.result?.length > 50) { -
- {{ task.result | slice:0:50 }}… -
- } - @if (task.result?.length <= 50) { - {{ task.result }} - } - -
{{ task.result | slice:0:300 }}@if (task.result.length > 300) {
-                      …
-                    }
- @if (task.result?.length > 300) { -
(click for full output) - } -
-
- - -
- - - @if (task.related_document) { - - } - -
-
-
{{ task.result }}
-
- -
- @if (tasks.length > 0) { -
{tasks.length, plural, =1 {One {{this.activeTabLocalized}} task} other {{{tasks.length || 0}} total {{this.activeTabLocalized}} tasks}}
- } - @if (tasks.length > pageSize) { - - } + + + + + + + + @if (activeTab !== 'started' && activeTab !== 'queued') { + + } + + + + + + @for (task of tasks | slice: (page-1) * pageSize : page * pageSize; track task) { + + + + + @if (activeTab !== 'started' && activeTab !== 'queued') { + + } + + + + + + + } + +
+
+ +
- +
NameCreatedResultsInfoActions
+
+ + +
+
{{ task.task_file_name }}{{ task.date_created | customDate:'short' }} + @if (task.result?.length > 50) { +
+ {{ task.result | slice:0:50 }}… +
+ } + @if (task.result?.length <= 50) { + {{ task.result }} + } + +
{{ task.result | slice:0:300 }}@if (task.result.length > 300) {
+                  …
+                }
+ @if (task.result?.length > 300) { +
(click for full output) + } +
+
+ + +
+ + + @if (task.related_document) { + + } + +
+
+
{{ task.result }}
+
-
-
+
+ @if (tasks.length > 0) { +
+ {tasks.length, plural, =1 {One {{this.activeTabLocalized}} task} other {{{tasks.length || 0}} total {{this.activeTabLocalized}} tasks}} + @if (selectedTasks.size > 0) { +  ({{selectedTasks.size}} selected) + } +
+ } + @if (tasks.length > pageSize) { + + } +
+ + + +
diff --git a/src-ui/src/app/components/admin/users-groups/users-groups.component.html b/src-ui/src/app/components/admin/users-groups/users-groups.component.html index e1d80f78e..3f91842d4 100644 --- a/src-ui/src/app/components/admin/users-groups/users-groups.component.html +++ b/src-ui/src/app/components/admin/users-groups/users-groups.component.html @@ -1,4 +1,10 @@ - + @if (users) { diff --git a/src-ui/src/app/components/common/page-header/page-header.component.html b/src-ui/src/app/components/common/page-header/page-header.component.html index e3e631434..b0ced88a1 100644 --- a/src-ui/src/app/components/common/page-header/page-header.component.html +++ b/src-ui/src/app/components/common/page-header/page-header.component.html @@ -5,6 +5,22 @@ @if (subTitle) { {{subTitle}} } + @if (info) { + + +

+ @if (infoLink) { + Read more + + + + } +
+ }
diff --git a/src-ui/src/app/components/common/page-header/page-header.component.ts b/src-ui/src/app/components/common/page-header/page-header.component.ts index 457bdfda5..ac4af7568 100644 --- a/src-ui/src/app/components/common/page-header/page-header.component.ts +++ b/src-ui/src/app/components/common/page-header/page-header.component.ts @@ -24,4 +24,10 @@ export class PageHeaderComponent { @Input() subTitle: string = '' + + @Input() + info: string + + @Input() + infoLink: string } diff --git a/src-ui/src/app/components/manage/custom-fields/custom-fields.component.html b/src-ui/src/app/components/manage/custom-fields/custom-fields.component.html index 61095cd10..a803aae9c 100644 --- a/src-ui/src/app/components/manage/custom-fields/custom-fields.component.html +++ b/src-ui/src/app/components/manage/custom-fields/custom-fields.component.html @@ -1,4 +1,10 @@ - + diff --git a/src-ui/src/app/components/manage/custom-fields/custom-fields.component.spec.ts b/src-ui/src/app/components/manage/custom-fields/custom-fields.component.spec.ts index f40af6b19..412fe3cc1 100644 --- a/src-ui/src/app/components/manage/custom-fields/custom-fields.component.spec.ts +++ b/src-ui/src/app/components/manage/custom-fields/custom-fields.component.spec.ts @@ -90,7 +90,7 @@ describe('CustomFieldsComponent', () => { const toastInfoSpy = jest.spyOn(toastService, 'showInfo') const reloadSpy = jest.spyOn(component, 'reload') - const createButton = fixture.debugElement.queryAll(By.css('button'))[0] + const createButton = fixture.debugElement.queryAll(By.css('button'))[1] createButton.triggerEventHandler('click') expect(modal).not.toBeUndefined() @@ -114,7 +114,7 @@ describe('CustomFieldsComponent', () => { const toastInfoSpy = jest.spyOn(toastService, 'showInfo') const reloadSpy = jest.spyOn(component, 'reload') - const editButton = fixture.debugElement.queryAll(By.css('button'))[1] + const editButton = fixture.debugElement.queryAll(By.css('button'))[2] editButton.triggerEventHandler('click') expect(modal).not.toBeUndefined() @@ -139,7 +139,7 @@ describe('CustomFieldsComponent', () => { const deleteSpy = jest.spyOn(customFieldsService, 'delete') const reloadSpy = jest.spyOn(component, 'reload') - const deleteButton = fixture.debugElement.queryAll(By.css('button'))[3] + const deleteButton = fixture.debugElement.queryAll(By.css('button'))[4] deleteButton.triggerEventHandler('click') expect(modal).not.toBeUndefined() diff --git a/src-ui/src/app/components/manage/mail/mail.component.html b/src-ui/src/app/components/manage/mail/mail.component.html index 6adc85454..68187c6bd 100644 --- a/src-ui/src/app/components/manage/mail/mail.component.html +++ b/src-ui/src/app/components/manage/mail/mail.component.html @@ -1,4 +1,10 @@ - + diff --git a/src-ui/src/app/components/manage/workflows/workflows.component.html b/src-ui/src/app/components/manage/workflows/workflows.component.html index 72165988b..9dc214af4 100644 --- a/src-ui/src/app/components/manage/workflows/workflows.component.html +++ b/src-ui/src/app/components/manage/workflows/workflows.component.html @@ -1,4 +1,10 @@ - + diff --git a/src-ui/src/app/components/manage/workflows/workflows.component.spec.ts b/src-ui/src/app/components/manage/workflows/workflows.component.spec.ts index 4382d56f5..1abbd2c5a 100644 --- a/src-ui/src/app/components/manage/workflows/workflows.component.spec.ts +++ b/src-ui/src/app/components/manage/workflows/workflows.component.spec.ts @@ -125,7 +125,7 @@ describe('WorkflowsComponent', () => { const toastInfoSpy = jest.spyOn(toastService, 'showInfo') const reloadSpy = jest.spyOn(component, 'reload') - const createButton = fixture.debugElement.queryAll(By.css('button'))[0] + const createButton = fixture.debugElement.queryAll(By.css('button'))[1] createButton.triggerEventHandler('click') expect(modal).not.toBeUndefined() @@ -149,7 +149,7 @@ describe('WorkflowsComponent', () => { const toastInfoSpy = jest.spyOn(toastService, 'showInfo') const reloadSpy = jest.spyOn(component, 'reload') - const editButton = fixture.debugElement.queryAll(By.css('button'))[1] + const editButton = fixture.debugElement.queryAll(By.css('button'))[2] editButton.triggerEventHandler('click') expect(modal).not.toBeUndefined() @@ -174,7 +174,7 @@ describe('WorkflowsComponent', () => { const deleteSpy = jest.spyOn(workflowService, 'delete') const reloadSpy = jest.spyOn(component, 'reload') - const deleteButton = fixture.debugElement.queryAll(By.css('button'))[3] + const deleteButton = fixture.debugElement.queryAll(By.css('button'))[4] deleteButton.triggerEventHandler('click') expect(modal).not.toBeUndefined() diff --git a/src/documents/classifier.py b/src/documents/classifier.py index cc8af5868..52af2733a 100644 --- a/src/documents/classifier.py +++ b/src/documents/classifier.py @@ -10,6 +10,7 @@ from pathlib import Path from typing import Optional from django.conf import settings +from sklearn.exceptions import InconsistentVersionWarning from documents.models import Document from documents.models import MatchingModel @@ -18,7 +19,9 @@ logger = logging.getLogger("paperless.classifier") class IncompatibleClassifierVersionError(Exception): - pass + def __init__(self, message: str, *args: object) -> None: + self.message = message + super().__init__(*args) class ClassifierModelCorruptError(Exception): @@ -37,8 +40,8 @@ def load_classifier() -> Optional["DocumentClassifier"]: try: classifier.load() - except IncompatibleClassifierVersionError: - logger.info("Classifier version updated, will re-train") + except IncompatibleClassifierVersionError as e: + logger.info(f"Classifier version incompatible: {e.message}, will re-train") os.unlink(settings.MODEL_FILE) classifier = None except ClassifierModelCorruptError: @@ -114,10 +117,12 @@ class DocumentClassifier: "#security-maintainability-limitations" ) for warning in w: - if issubclass(warning.category, UserWarning): - w_msg = str(warning.message) - if sk_learn_warning_url in w_msg: - raise IncompatibleClassifierVersionError + # The warning is inconsistent, the MLPClassifier is a specific warning, others have not updated yet + if issubclass(warning.category, InconsistentVersionWarning) or ( + issubclass(warning.category, UserWarning) + and sk_learn_warning_url in str(warning.message) + ): + raise IncompatibleClassifierVersionError("sklearn version update") def save(self): target_file: Path = settings.MODEL_FILE diff --git a/src/documents/filters.py b/src/documents/filters.py index bab20a4dc..b760b9779 100644 --- a/src/documents/filters.py +++ b/src/documents/filters.py @@ -114,6 +114,8 @@ class SharedByUser(Filter): ctype = ContentType.objects.get_for_model(self.model) UserObjectPermission = get_user_obj_perms_model() GroupObjectPermission = get_group_obj_perms_model() + # see https://github.com/paperless-ngx/paperless-ngx/issues/5392, we limit subqueries + # to 1 because Postgres doesn't like returning > 1 row, but all we care about is > 0 return ( qs.filter( owner_id=value, @@ -123,7 +125,7 @@ class SharedByUser(Filter): UserObjectPermission.objects.filter( content_type=ctype, object_pk=Cast(OuterRef("pk"), CharField()), - ).values("user_id"), + ).values("user_id")[:1], ), ) .annotate( @@ -131,7 +133,7 @@ class SharedByUser(Filter): GroupObjectPermission.objects.filter( content_type=ctype, object_pk=Cast(OuterRef("pk"), CharField()), - ).values("group_id"), + ).values("group_id")[:1], ), ) .filter( diff --git a/src/documents/tests/data/v1.0.2.model.pickle b/src/documents/tests/data/v1.0.2.model.pickle deleted file mode 100644 index 8a0e1829c..000000000 Binary files a/src/documents/tests/data/v1.0.2.model.pickle and /dev/null differ diff --git a/src/documents/tests/data/v1.17.4.model.pickle b/src/documents/tests/data/v1.17.4.model.pickle new file mode 100644 index 000000000..4b2734607 Binary files /dev/null and b/src/documents/tests/data/v1.17.4.model.pickle differ diff --git a/src/documents/tests/test_classifier.py b/src/documents/tests/test_classifier.py index 0b91e223f..cb1c5c8a3 100644 --- a/src/documents/tests/test_classifier.py +++ b/src/documents/tests/test_classifier.py @@ -1,5 +1,6 @@ import os import re +import shutil from pathlib import Path from unittest import mock @@ -649,7 +650,7 @@ class TestClassifier(DirectoriesMixin, TestCase): Path(settings.MODEL_FILE).touch() self.assertTrue(os.path.exists(settings.MODEL_FILE)) - load.side_effect = IncompatibleClassifierVersionError() + load.side_effect = IncompatibleClassifierVersionError("Dummey Error") self.assertIsNone(load_classifier()) self.assertFalse(os.path.exists(settings.MODEL_FILE)) @@ -661,3 +662,14 @@ class TestClassifier(DirectoriesMixin, TestCase): load.side_effect = OSError() self.assertIsNone(load_classifier()) self.assertTrue(os.path.exists(settings.MODEL_FILE)) + + def test_load_old_classifier_version(self): + shutil.copy( + os.path.join(os.path.dirname(__file__), "data", "v1.17.4.model.pickle"), + self.dirs.scratch_dir, + ) + with override_settings( + MODEL_FILE=self.dirs.scratch_dir / "v1.17.4.model.pickle", + ): + classifier = load_classifier() + self.assertIsNone(classifier)