Я создаю элемент контента из адаптера пользовательского сценария PloneFormGen Form, используя invokeFactory
. Пока все работает нормально, однако мы хотим начать генерировать комментарий для включения в действие для истории элемента. Сам комментарий будет сгенерирован с использованием полей из формы и некоторого предварительно заданного текста.Включить «Замечание об изменении» при создании контента из InvokeFactory
Возможно ли это из PFG?
Тип контента - это нестандартный тип, и он доступен для версий. Использование Plone 4.3.2, PFG 1.7.14
EDIT
Мой текущий код:
from Products.CMFPlone.utils import normalizeString
portal_root = context.portal_url.getPortalObject()
target = portal_root['first-folder']['my-folder']
form = request.form
title = "My Title: "+form['title-1']
id = normalizeString(title)
id = id+"_"+str(DateTime().millis())
target.invokeFactory(
"MyCustomType",
id=id,
title=title,
text=form['comments'],
relatedItems=form['uid']
)
Я попытался с помощью клавиш, как comments
, comment
, message
, и даже cmfeditions_version_comment
в аргументах target.invokeFactory
. Пока не повезло.
Я попробовал ваше предложение в CSA. Я получил эту ошибку: «Неавторизованный: вам не разрешен доступ к« setStatusOf »в этом контексте» Тип контента имеет функцию 'at_post_create_script' и' at_post_edit_script' в файле своего питона типа контента. Интересно, могу ли я применить там силу? Я заметил, что эти функции не вызываются при создании элементов из 'invokeFactory', но, возможно, я могу это получить? – rain2o
Я смог получить 'workflow_tool.doActionFor()', чтобы работать. Мне просто нужно было создать новый рабочий процесс с именем действия, которое я хотел. – rain2o
Вы должны запустить скрипт с правильным разрешением. afaik вы можете использовать роль прокси (например, менеджер) для запуска скрипта. Таким образом, вы можете избежать проблемы с разрешением (новый рабочий процесс также может быть решением). Вы также можете добавить это в свой скрипт 'at_post_create_script'. Но и там вы можете убедиться, что у вас есть права. – Mathias