Add transitions to apply parameter PFWBINT-7

This commit is contained in:
Nicolas Demonte 2021-03-18 13:28:49 +01:00
parent e48d1feada
commit a9c8392286
2 changed files with 20 additions and 10 deletions

View File

@ -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')

View File

@ -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