From a9c8392286e5326481d5e666277eabd1a94699d5 Mon Sep 17 00:00:00 2001 From: Nicolas Demonte Date: Thu, 18 Mar 2021 13:28:49 +0100 Subject: [PATCH] Add transitions to apply parameter PFWBINT-7 --- .../dms/batchimport/fileimporter.py | 28 ++++++++++++------- src/collective/dms/batchimport/utils.py | 2 ++ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/collective/dms/batchimport/fileimporter.py b/src/collective/dms/batchimport/fileimporter.py index 3af748b..df6fee8 100644 --- a/src/collective/dms/batchimport/fileimporter.py +++ b/src/collective/dms/batchimport/fileimporter.py @@ -30,18 +30,20 @@ log = logging.getLogger('collective.dms.batchimport') class IImportFileFormSchema(form.Schema): file = NamedBlobFile(title=_(u"File")) - title = schema.Text(required=False) - portal_type = schema.Text(required=False) - location = schema.Text(required=False) - owner = schema.Text(required=False) - treating_groups = schema.Text(required=False) # new, comme separated identifiers - recipient_groups = schema.Text(required=False) # new, comme separated identifiers - keywords = schema.Text(required=False) # comma separated identifiers + title = schema.Text(title=_(u"title"), required=False) + portal_type = schema.Text(title=_(u"portal_type"), required=False) + location = schema.Text(title=_(u"location"), required=False) + owner = schema.Text(title=_(u"owner"), required=False) + treating_groups = schema.Text(title=_(u"treating_groups"), required=False) # new, comme separated identifiers + recipient_groups = schema.Text(title=_(u"recipient_groups"), required=False) # new, comme separated identifiers + keywords = schema.Text(title=_(u"keywords"), required=False) # comma separated identifiers - notification_recipients = schema.Text(required=False) # comma separated emails + notification_recipients = schema.Text(title=_(u"notification_recipients"), required=False) # comma separated emails + + transitions_to_apply = schema.Text(title=_(u"transitions_to_apply"), required=False) # legacy - treating_group = schema.Text(required=False) + treating_group = schema.Text(title=_(u"treating_group"), required=False) class ImportFileForm(form.SchemaForm): @@ -95,7 +97,7 @@ class ImportFileForm(form.SchemaForm): document_id = self.convertTitleToId(data.get('title') or os.path.splitext(filename)[0]) - utils.createDocument(self, folder, portal_type, document_id, + document = utils.createDocument(self, folder, portal_type, document_id, filename, data['file'], owner, treating_groups=treating_groups, recipient_groups=recipient_groups, @@ -104,6 +106,12 @@ class ImportFileForm(form.SchemaForm): 'keywords': keywords, }) + if data.get('transitions_to_apply'): + transitions = data.get('transitions_to_apply').split(",") + for transition in transitions: + api.content.transition(document, transition) + document.reindexObject(idxs=['review_state', 'allowedRolesAndUsers']) + if data.get('notification_recipients'): document_location = self.request.response.headers['location'] subject = 'Nouveau document, %s' % data.get('title') diff --git a/src/collective/dms/batchimport/utils.py b/src/collective/dms/batchimport/utils.py index e3a9a1c..fdb1be1 100644 --- a/src/collective/dms/batchimport/utils.py +++ b/src/collective/dms/batchimport/utils.py @@ -66,3 +66,5 @@ def createDocument(context, folder, portal_type, document_id, filename, version = createContentInContainer(document, 'dmsmainfile', title=_('Scanned Document'), file=file_object) + + return document