from documents import matching
from documents.caching import clear_document_caches
+from documents.data_models import ConsumableDocument
+from documents.data_models import DocumentSource
from documents.file_handling import create_source_path_directory
from documents.file_handling import delete_empty_directories
from documents.file_handling import generate_unique_filename
if TYPE_CHECKING:
from documents.classifier import DocumentClassifier
- from documents.data_models import ConsumableDocument
from documents.data_models import DocumentMetadataOverrides
logger = logging.getLogger("paperless.handlers")
)
try:
attachments = []
- if action.email.include_document and original_file:
- attachments = [document]
+ if action.email.include_document:
+ if trigger_type in [
+ WorkflowTrigger.WorkflowTriggerType.DOCUMENT_UPDATED,
+ WorkflowTrigger.WorkflowTriggerType.SCHEDULED,
+ ]:
+ # Updated and scheduled can pass the document directly
+ attachments = [document]
+ elif original_file:
+ # For consumed and added document is not yet saved, so pass the original file
+ attachments = [
+ ConsumableDocument(
+ source=DocumentSource.ApiUpload,
+ original_file=original_file,
+ ),
+ ]
n_messages = send_email(
subject=subject,
body=body,