diff --git a/layouts/vlayout/modules/Settings/Workflows/CreateEntity.tpl b/layouts/vlayout/modules/Settings/Workflows/CreateEntity.tpl index aa69784be6b3832b16309e386b8491d217bc0d31..e9845791122a04581977a04fbaefa344fcb5c3e7 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 2a07e0ab37a6b8af01cf24c6f7345bfea2312afa..90a9357c356b4028f2a1589da634e36481b247b0 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);