diff --git a/docs/changelog.rst b/docs/changelog.rst index 4c938ba87..2af97b33b 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -12,7 +12,7 @@ next if a file type is supported and which parser to use. Removes all file type checks that where present in MANY different places in paperless. - + * Mail consumer now correctly consumes documents even when their content type was not set correctly. (i.e. PDF documents with content type ``application/octet-stream``) @@ -20,6 +20,12 @@ next * Docker entrypoint script awaits the database server if it is configured. +* Basic sorting of mail rules added. + +* Disabled editing of logs. + +* Much better admin for mail rule editing. + paperless-ng 0.9.1 ################## diff --git a/src/paperless_mail/admin.py b/src/paperless_mail/admin.py index d8560c418..b959171f7 100644 --- a/src/paperless_mail/admin.py +++ b/src/paperless_mail/admin.py @@ -9,6 +9,38 @@ class MailAccountAdmin(admin.ModelAdmin): class MailRuleAdmin(admin.ModelAdmin): + radio_fields = { + "action": admin.VERTICAL, + "assign_title_from": admin.VERTICAL, + "assign_correspondent_from": admin.VERTICAL + } + + fieldsets = ( + (None, { + 'fields': ('name', 'order', 'account', 'folder') + }), + ("Filter", { + 'description': "Paperless will only process mails that match ALL " + "of the filters given below.", + 'fields': ('filter_from', 'filter_subject', 'filter_body', 'maximum_age') + }), + ("Actions", { + 'description': "The action applied to the mail. This action is " + "only performed when documents were consumed from " + "the mail. Mails without attachments will remain " + "entirely untouched.", + 'fields': ('action', 'action_parameter') + }), + ("Metadata", { + 'description': "Assign metadata to documents consumed from this " + "rule automatically. If you do not assign tags, " + "types or correspondents here, paperless will " + "still process all matching rules that you have " + "defined.", + "fields": ('assign_title_from', 'assign_tag', 'assign_document_type', 'assign_correspondent_from', 'assign_correspondent') + }) + ) + list_filter = ("account",) list_display = ("order", "name", "account", "folder", "action")