Feature: consumption templates (#4196)

* Initial implementation of consumption templates

* Frontend implementation of consumption templates

Testing

* Support consumption template source

* order templates, automatically add permissions

* Support title assignment in consumption templates

* Refactoring, filters to and, show sources on list

Show sources on template list, update some translation strings

Make filters and

minor testing

* Update strings

* Only update django-multiselectfield

* Basic docs, document some methods

* Improve testing coverage, template multi-assignment merges
This commit is contained in:
shamoon
2023-09-22 16:53:13 -07:00
committed by GitHub
parent 86d223fd93
commit 9712ac109d
51 changed files with 3250 additions and 444 deletions

View File

@@ -0,0 +1,41 @@
import { ObjectWithId } from './object-with-id'
export enum DocumentSource {
ConsumeFolder = 1,
ApiUpload = 2,
MailFetch = 3,
}
export interface PaperlessConsumptionTemplate extends ObjectWithId {
name: string
order: number
sources: DocumentSource[]
filter_filename: string
filter_path?: string
filter_mailrule?: number // PaperlessMailRule.id
assign_title?: string
assign_tags?: number[] // PaperlessTag.id
assign_document_type?: number // PaperlessDocumentType.id
assign_correspondent?: number // PaperlessCorrespondent.id
assign_storage_path?: number // PaperlessStoragePath.id
assign_owner?: number // PaperlessUser.id
assign_view_users?: number[] // [PaperlessUser.id]
assign_view_groups?: number[] // [PaperlessGroup.id]
assign_change_users?: number[] // [PaperlessUser.id]
assign_change_groups?: number[] // [PaperlessGroup.id]
}

View File

@@ -22,6 +22,7 @@ export enum MailAction {
export enum MailMetadataTitleOption {
FromSubject = 1,
FromFilename = 2,
None = 3,
}
export enum MailMetadataCorrespondentOption {
@@ -67,4 +68,6 @@ export interface PaperlessMailRule extends ObjectWithPermissions {
assign_correspondent_from?: MailMetadataCorrespondentOption
assign_correspondent?: number // PaperlessCorrespondent.id
assign_owner_from_rule: boolean
}

View File

@@ -1,4 +1,3 @@
import { PaperlessGroup } from 'src/app/data/paperless-group'
import { ObjectWithId } from './object-with-id'
export interface PaperlessUser extends ObjectWithId {