Commit 12ec1834 authored by Jérome Perrin's avatar Jérome Perrin

New skins for mass workflow transitions.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17972 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 697f9be4
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>workflow</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>mass_workflow</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Mass Workflow Transition</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<global name="Expression" module="Products.CMFCore.Expression"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/Folder_viewWorkflowActionDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<global name="Expression" module="Products.CMFCore.Expression"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>python: object.getPortalType() in portal.getPortalModuleTypeList()</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>item_list = [(\'\', \'\')]\n
for action in context.portal_actions.listFilteredActionsFor(brain).get(\'workflow\', []):\n
transition = action.get(\'transition\', None)\n
if transition is not None:\n
workflow_id = action[\'transition\'].aq_parent.aq_parent.getId()\n
if workflow_id == brain.workflow_id:\n
item_list.append((action[\'title\'], \'%s/%s\' % (workflow_id, action[\'id\'])))\n
\n
return item_list\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>brain, **kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>brain</string>
<string>kw</string>
<string>item_list</string>
<string>_getiter_</string>
<string>_getattr_</string>
<string>context</string>
<string>action</string>
<string>None</string>
<string>transition</string>
<string>_getitem_</string>
<string>workflow_id</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_getPossibleWorkflowActionItemList</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_function</string> </key>
<value> <string>getDocumentGroupByWorkflowStateList</string> </value>
</item>
<item>
<key> <string>_module</string> </key>
<value> <string>ERP5Form.Folder_getWorkflowActionDocumentList</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Folder_getDocumentGroupByWorkflowStateList</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_function</string> </key>
<value> <string>getWorkflowActionDocumentList</string> </value>
</item>
<item>
<key> <string>_module</string> </key>
<value> <string>ERP5Form.Folder_getWorkflowActionDocumentList</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Folder_getWorkflowActionDocumentList</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
......@@ -68,74 +65,36 @@
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
from Products.Formulator.Errors import ValidationError, FormValidationError\n
from Products.DCWorkflow.DCWorkflow import ValidationFailed\n
from Products.ERP5Type.Message import Message\n
<value> <string>from Products.ERP5Type.Message import Message\n
\n
N_ = lambda msg, **kw: Message(\'erp5_ui\', msg, **kw)\n
request = context.REQUEST\n
portal = context.getPortalObject()\n
getObject = portal.portal_catalog.getObject\n
getActionsFor = portal.portal_workflow.getActionsFor\n
\n
form = getattr(context, dialog_id)\n
kw = {}\n
for f in form.get_fields():\n
k = f.getId()\n
if k.startswith(\'my_\'):\n
k = k[3:]\n
elif k.startswith(\'your_\'):\n
k = k[5:]\n
v = getattr(request, k, None)\n
if v is not None:\n
kw[k] = v\n
# generate a random tag\n
tag = \'folder_workflow_action_%s\' % random.randint(0, 1000)\n
\n
# If there are checked uids, pass the workflow for all checked uids.\n
selection_uid_list = context.portal_selections.getSelectionCheckedUidsFor(\n
selection_name)\n
if not selection_uid_list:\n
# else call the selection to apply to all object with\n
# current search parameters\n
selection_list = context.portal_selections.callSelectionFor(\n
selection_name, context=context)\n
else :\n
selection_list = [getObject(uid) for uid in selection_uid_list]\n
for parameters in listbox:\n
doc = portal.restrictedTraverse(parameters[\'listbox_key\'])\n
if same_type(parameters[\'workflow_action\'], \'\'):\n
doc.activate(tag=tag).Base_workflowStatusModify(batch=1,\n
workflow_action=parameters[\'workflow_action\'],\n
workflow_id=parameters[\'workflow_id\'],\n
comment=comment)\n
else:\n
for workflow_action, workflow_id in zip(\n
parameters[\'workflow_action\'], parameters[\'workflow_id\']):\n
doc.activate(activity=\'SQLQueue\', tag=tag).Base_workflowStatusModify(batch=1,\n
workflow_action=workflow_action,\n
workflow_id=workflow_id,\n
comment=comment)\n
\n
len_selection_list = len(selection_list)\n
if len_selection_list == context.countFolder():\n
value_error = N_("Refusing to process the entire module")\n
else:\n
# generate a random tag\n
tag = \'folder_workflow_action_%s\' % random.randint(0, 1000)\n
context.activate(after_tag=tag).getTitle()\n
\n
processed_object_count = 0 \n
for o in selection_list:\n
o = o.getObject()\n
if workflow_action in [ai[\'id\'] for ai in getActionsFor(o)\n
if ai.has_key(\'id\')]:\n
o.activate(tag=tag).Base_workflowStatusModify(batch=1, **kw)\n
processed_object_count += 1\n
# activate something on the folder, this way the folder will be marked to\n
# have activity and the user will be informed when this batch processing is\n
# finished\n
context.activate(after_tag=tag).getTitle()\n
\n
value_error = N_("Workflow modification in progress for "\n
"${processed_object_count} out of ${selected_object_count}",\n
mapping=dict(processed_object_count=processed_object_count,\n
selected_object_count=len_selection_list))\n
\n
redirect_url = \'%s/%s?portal_status_message=%s&form_id=%s\' % (\n
context.absolute_url(), form_id\n
, value_error, form_id,\n
)\n
\n
return request.RESPONSE.redirect( redirect_url )\n
]]></string> </value>
return request.RESPONSE.redirect( \'%s/%s?portal_status_message=%s\' % (\n
context.absolute_url(), form_id,\n
N_("Workflow Modification in Progress")))\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
......@@ -157,7 +116,7 @@ return request.RESPONSE.redirect( redirect_url )\n
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>form_id, dialog_id, selection_name, workflow_action</string> </value>
<value> <string>listbox, comment=\'\', form_id=\'view\', **kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
......@@ -177,21 +136,16 @@ return request.RESPONSE.redirect( redirect_url )\n
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>4</int> </value>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>listbox</string>
<string>comment</string>
<string>form_id</string>
<string>dialog_id</string>
<string>selection_name</string>
<string>workflow_action</string>
<string>Products.Formulator.Errors</string>
<string>ValidationError</string>
<string>FormValidationError</string>
<string>Products.DCWorkflow.DCWorkflow</string>
<string>ValidationFailed</string>
<string>kw</string>
<string>Products.ERP5Type.Message</string>
<string>Message</string>
<string>N_</string>
......@@ -199,34 +153,16 @@ return request.RESPONSE.redirect( redirect_url )\n
<string>context</string>
<string>request</string>
<string>portal</string>
<string>getObject</string>
<string>getActionsFor</string>
<string>getattr</string>
<string>form</string>
<string>kw</string>
<string>_getiter_</string>
<string>f</string>
<string>k</string>
<string>_getitem_</string>
<string>None</string>
<string>v</string>
<string>_write_</string>
<string>selection_uid_list</string>
<string>selection_list</string>
<string>append</string>
<string>$append0</string>
<string>uid</string>
<string>len</string>
<string>len_selection_list</string>
<string>value_error</string>
<string>random</string>
<string>tag</string>
<string>processed_object_count</string>
<string>o</string>
<string>ai</string>
<string>_apply_</string>
<string>dict</string>
<string>redirect_url</string>
<string>_getiter_</string>
<string>parameters</string>
<string>_getitem_</string>
<string>doc</string>
<string>same_type</string>
<string>zip</string>
<string>workflow_action</string>
<string>workflow_id</string>
</tuple>
</value>
</item>
......@@ -238,13 +174,20 @@ return request.RESPONSE.redirect( redirect_url )\n
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
<tuple>
<string></string>
<string>view</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Folder_modifyWorkflowStatus</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
......
......@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.Form</string>
<string>ERP5Form</string>
</tuple>
<none/>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
<tuple/>
</tuple>
</pickle>
<pickle>
......@@ -53,7 +50,11 @@
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Folder_modifyWorkflowStatus</string> </value>
<value> <string>Folder_viewWorkflowActionDocumentListDialog</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
......@@ -69,6 +70,7 @@
<list>
<string>left</string>
<string>hidden</string>
<string>bottom</string>
</list>
</value>
</item>
......@@ -76,10 +78,23 @@
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>listbox</string>
</list>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
<list>
<string>listbox_portal_type</string>
<string>listbox_state_var</string>
<string>listbox_workflow_action</string>
<string>listbox_workflow_state</string>
</list>
</value>
</item>
<item>
......@@ -87,7 +102,7 @@
<value>
<list>
<string>your_comment</string>
<string>your_workflow_action</string>
<string>your_module_selection_name</string>
</list>
</value>
</item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>selection_name = \'workflow_action_dialog_proxy_selection\'\n
selection_tool = context.getPortalObject().portal_selections\n
\n
selection_tool.setSelectionParamsFor(selection_name,\n
dict(proxy_form_id=form_id))\n
\n
request = container.REQUEST\n
request.set(\'proxy_form_id\', form_id)\n
request.set(\'reset\', 1)\n
\n
return context.Folder_viewWorkflowActionDocumentListDialogRenderer(REQUEST=request)\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>form_id=\'\', **kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>form_id</string>
<string>kw</string>
<string>selection_name</string>
<string>_getattr_</string>
<string>context</string>
<string>selection_tool</string>
<string>dict</string>
<string>container</string>
<string>request</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<string></string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Folder_viewWorkflowActionDocumentListDialog</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Folder_modifyWorkflowStatus</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string>multipart/form-data</string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>listbox</string>
<string>your_comment</string>
</list>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list>
<string>listbox_workflow_action</string>
<string>listbox_workflow_id</string>
</list>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Folder_viewWorkflowActionDocumentListDialogRenderer</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>Folder_viewWorkflowActionDocumentListDialog</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Validate Workflow Action</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -3,18 +3,15 @@
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
<global name="StringField" module="Products.Formulator.StandardFields"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>your_workflow_action</string> </value>
<value> <string>listbox_workflow_action</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -245,7 +242,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
<value> <string>Workflow Action</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
......@@ -268,18 +265,15 @@
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/REQUEST/workflow_action</string> </value>
<value> <string>cell/workflow_action</string> </value>
</item>
</dictionary>
</pickle>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment