From c8d22404af9da9f94aab7927ad413ab14bce000e Mon Sep 17 00:00:00 2001 From: satish <satish.dvnk@vtiger.com> Date: Sat, 17 Sep 2016 15:05:06 +0530 Subject: [PATCH] Fixes #39 - Regression: Workflow Create Entity Task failure after migration --- .../modules/Settings/Workflows/CreateEntity.tpl | 10 +++++++++- modules/Settings/Workflows/actions/TaskAjax.php | 16 ++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/layouts/vlayout/modules/Settings/Workflows/CreateEntity.tpl b/layouts/vlayout/modules/Settings/Workflows/CreateEntity.tpl index aa69784be..e98457911 100644 --- a/layouts/vlayout/modules/Settings/Workflows/CreateEntity.tpl +++ b/layouts/vlayout/modules/Settings/Workflows/CreateEntity.tpl @@ -26,6 +26,10 @@ <option value="none"></option> {foreach from=$RELATED_MODULE_MODEL->getFields() item=FIELD_MODEL} {assign var=FIELD_INFO value=$FIELD_MODEL->getFieldInfo()} + {if $FIELD_MODEL->getFieldDataType() == 'owner'} + {$SPECIAL_OPTION = [vtranslate('LBL_SPECIAL_OPTIONS') => ['assigned_user_id' => {vtranslate('LBL_PARENT_OWNER')}]]} + {$FIELD_INFO['picklistvalues'] = array_merge($FIELD_INFO['picklistvalues'], $SPECIAL_OPTION)} + {/if} <option value="{$FIELD_MODEL->get('name')}" {if $FIELD_MAP['fieldname'] eq $FIELD_MODEL->get('name')} {if $FIELD_MODEL->isMandatory()}{assign var=MANDATORY_FIELD value=true} {else} {assign var=MANDATORY_FIELD value=false} {/if}{assign var=FIELD_TYPE value=$FIELD_MODEL->getFieldDataType()} selected=""{/if} data-fieldtype="{$FIELD_MODEL->getFieldType()}" data-field-name="{$FIELD_MODEL->get('name')}" data-fieldinfo='{ZEND_JSON::encode($FIELD_INFO)}' > {vtranslate($FIELD_MODEL->get('label'), $SOURCE_MODULE)}{if $SELECTED_FIELD_MODEL->isMandatory()}<span class="redColor">*</span>{/if} </option> @@ -67,8 +71,12 @@ <option value="none"></option> {foreach from=$RELATED_MODULE_MODEL->getFields() item=FIELD_MODEL} {assign var=FIELD_INFO value=$FIELD_MODEL->getFieldInfo()} + {if $FIELD_MODEL->getFieldDataType() == 'owner'} + {$SPECIAL_OPTION = [vtranslate('LBL_SPECIAL_OPTIONS') => ['assigned_user_id' => {vtranslate('LBL_PARENT_OWNER')}]]} + {$FIELD_INFO['picklistvalues'] = array_merge($FIELD_INFO['picklistvalues'], $SPECIAL_OPTION)} + {/if} <option value="{$FIELD_MODEL->get('name')}" data-fieldtype="{$FIELD_MODEL->getFieldType()}" {if $FIELD_MODEL->get('name') eq $MANDATORY_FIELD_MODEL->get('name')} {assign var=FIELD_TYPE value=$FIELD_MODEL->getFieldDataType()} selected=""{/if} data-field-name="{$FIELD_MODEL->get('name')}" data-fieldinfo='{ZEND_JSON::encode($FIELD_INFO)}' > - {vtranslate($FIELD_MODEL->get('label'), $SOURCE_MODULE)}<span class="redColor">*</span> + {vtranslate($FIELD_MODEL->get('label'), $SOURCE_MODULE)}<span class="redColor">*</span> </option> {/foreach} </select> diff --git a/modules/Settings/Workflows/actions/TaskAjax.php b/modules/Settings/Workflows/actions/TaskAjax.php index 2a07e0ab3..90a9357c3 100644 --- a/modules/Settings/Workflows/actions/TaskAjax.php +++ b/modules/Settings/Workflows/actions/TaskAjax.php @@ -105,14 +105,18 @@ class Settings_Workflows_TaskAjax_Action extends Settings_Vtiger_IndexAjax_View $fieldMapping = Zend_Json::decode($taskObject->field_value_mapping); foreach ($fieldMapping as $key => $mappingInfo) { if (array_key_exists($mappingInfo['fieldname'], $ownerFieldModels)) { - $userRecordModel = Users_Record_Model::getInstanceById($mappingInfo['value'], 'Users'); - $ownerName = $userRecordModel->get('user_name'); + if ($mappingInfo['value'] == 'assigned_user_id') { + $mappingInfo['valuetype'] = 'fieldname'; + } else { + $userRecordModel = Users_Record_Model::getInstanceById($mappingInfo['value'], 'Users'); + $ownerName = $userRecordModel->get('user_name'); - if (!$ownerName) { - $groupRecordModel = Settings_Groups_Record_Model::getInstance($mappingInfo['value']); - $ownerName = $groupRecordModel->getName(); + if (!$ownerName) { + $groupRecordModel = Settings_Groups_Record_Model::getInstance($mappingInfo['value']); + $ownerName = $groupRecordModel->getName(); + } + $fieldMapping[$key]['value'] = $ownerName; } - $fieldMapping[$key]['value'] = $ownerName; } } $taskObject->field_value_mapping = Zend_Json::encode($fieldMapping); -- GitLab