add possibility to set treating group
This commit is contained in:
parent
46612b45e5
commit
1c831ec4c4
|
@ -28,6 +28,7 @@ class IImportFileFormSchema(form.Schema):
|
|||
portal_type = schema.Text(required=False)
|
||||
location = schema.Text(required=False)
|
||||
owner = schema.Text(required=False)
|
||||
treating_group = schema.Text(required=False)
|
||||
|
||||
|
||||
class ImportFileForm(form.SchemaForm):
|
||||
|
@ -69,9 +70,11 @@ class ImportFileForm(form.SchemaForm):
|
|||
portal_type = data['portal_type']
|
||||
filename = data['file'].filename
|
||||
owner = data['owner']
|
||||
treating_group = data['treating_group']
|
||||
folder = self.get_folder(data['location'])
|
||||
|
||||
document_id = self.convertTitleToId(data.get('title') or os.path.splitext(filename)[0])
|
||||
|
||||
utils.createDocument(self, folder, portal_type, document_id,
|
||||
filename, data['file'], owner, {'title': data.get('title')})
|
||||
filename, data['file'], owner, treating_group=treating_group,
|
||||
metadata={'title': data.get('title')})
|
||||
|
|
|
@ -5,6 +5,10 @@ from plone import api
|
|||
from plone.dexterity.utils import createContentInContainer
|
||||
|
||||
from collective.dms.mailcontent.dmsmail import internalReferenceIncomingMailDefaultValue, receptionDateDefaultValue
|
||||
from collective.dms.basecontent.dmsdocument import IDmsDocument
|
||||
|
||||
from collective.z3cform.rolefield.field import LocalRolesToPrincipalsDataManager
|
||||
|
||||
|
||||
try:
|
||||
from pfwbged.basecontent.behaviors import IDeadline, deadlineDefaultValue
|
||||
|
@ -17,7 +21,7 @@ log = logging.getLogger('collective.dms.batchimport')
|
|||
|
||||
|
||||
def createDocument(context, folder, portal_type, document_id, filename,
|
||||
file_object, owner=None, metadata=None):
|
||||
file_object, owner=None, treating_group=None, metadata=None):
|
||||
if owner is None:
|
||||
owner = api.user.get_current().id
|
||||
|
||||
|
@ -43,6 +47,13 @@ def createDocument(context, folder, portal_type, document_id, filename,
|
|||
if IDeadline and IDeadline.providedBy(document):
|
||||
document.deadline = deadlineDefaultValue(None)
|
||||
|
||||
if treating_group:
|
||||
canwrite_dm = LocalRolesToPrincipalsDataManager(document,
|
||||
IDmsDocument['treating_groups'])
|
||||
canwrite_dm.set([])
|
||||
canwrite_dm.set([treating_group])
|
||||
document.reindexObjectSecurity()
|
||||
|
||||
version = createContentInContainer(document, 'dmsmainfile',
|
||||
title=_('Scanned Mail'),
|
||||
file=file_object)
|
||||
|
|
Reference in New Issue