diff --git a/layouts/v7/modules/Rss/ListViewContents.tpl b/layouts/v7/modules/Rss/ListViewContents.tpl index 49570c557476ab331598bfd3daa819a8697966b0..ed70b3d9e991b18383defc738f1d18fc0ee71f26 100644 --- a/layouts/v7/modules/Rss/ListViewContents.tpl +++ b/layouts/v7/modules/Rss/ListViewContents.tpl @@ -47,7 +47,7 @@ <tr> <td> {assign var=SINGLE_MODULE value="SINGLE_$MODULE"} - {vtranslate('LBL_NO')} {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_FOUND')}. {vtranslate('LBL_CREATE')} <a class="rssAddButton" href="#" data-href="{$QUICK_LINKS['SIDEBARLINK'][0]->getUrl()}"> {vtranslate($SINGLE_MODULE, $MODULE)}</a> + {vtranslate('LBL_NO')} {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_FOUND')}. {vtranslate('LBL_CREATE')}<a class="rssAddButton" href="#" data-href="{$QUICK_LINKS['SIDEBARLINK'][0]->getUrl()}"> {vtranslate($SINGLE_MODULE, $MODULE)}</a> </td> </tr> </tbody> diff --git a/modules/Settings/Workflows/views/EditV7Task.php b/modules/Settings/Workflows/views/EditV7Task.php index 0d5cad6973f8cbbfcb2d1ee33c517a2502ae2f0b..ba65959580b8f5864810ef2d1da53f62cb5bc64a 100644 --- a/modules/Settings/Workflows/views/EditV7Task.php +++ b/modules/Settings/Workflows/views/EditV7Task.php @@ -136,7 +136,7 @@ class Settings_Workflows_EditV7Task_View extends Settings_Vtiger_Index_View { $templateVariables = array( $individualTaxBlockValue => $individualTaxBlockLabel, $groupTaxBlockValue => $groupTaxBlockLabel - ); + ); $viewer->assign('META_VARIABLES', $metaVariables); $viewer->assign('TEMPLATE_VARIABLES', $templateVariables); @@ -154,16 +154,16 @@ class Settings_Workflows_EditV7Task_View extends Settings_Vtiger_Index_View { $viewer->assign('MODULE', $moduleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); - - $emailFields = $recordStructureInstance->getAllEmailFields(); foreach($emailFields as $metaKey => $emailField) { $emailFieldoptions .= '<option value=",$'.$metaKey.'">'.$emailField->get('workflow_columnlabel').'</option>'; } $usersModuleModel = Vtiger_Module_Model::getInstance('Users'); - $emailFieldoptions .= '<option value=",$(general : (__VtigerMeta__) reports_to_id)"> '. + if($moduleModel->getField('assigned_user_id')) { + $emailFieldoptions .= '<option value=",$(general : (__VtigerMeta__) reports_to_id)"> '. vtranslate($moduleModel->getField('assigned_user_id')->get('label'),'Users').' : (' . vtranslate('Users','Users') . ') '. vtranslate($usersModuleModel->getField('reports_to_id')->get('label'),'Users') .'</option>'; + } $nameFields = $recordStructureInstance->getNameFields(); $fromEmailFieldOptions = '<option value="">'. vtranslate('ENTER_FROM_EMAIL_ADDRESS', $qualifiedModuleName) .'</option>'; diff --git a/modules/Vtiger/models/Module.php b/modules/Vtiger/models/Module.php index 8ce16d3f2fcc07235e609cd01d7c297aa91fde3c..80af99b7a410becb49c9c6274dfe0d291798cb88 100644 --- a/modules/Vtiger/models/Module.php +++ b/modules/Vtiger/models/Module.php @@ -631,7 +631,8 @@ class Vtiger_Module_Model extends Vtiger_Module { } public function isWorkflowSupported() { - if($this->isEntityModule()) { + vimport('~~modules/com_vtiger_workflow/VTWorkflowUtils.php'); + if($this->isEntityModule() && VTWorkflowUtils::checkModuleWorkflow($this->getName())) { return true; } return false; @@ -1303,7 +1304,6 @@ class Vtiger_Module_Model extends Vtiger_Module { if(!$this->isEntityModule() && $this->getName() !== 'Users') { return array(); } - vimport('~~modules/com_vtiger_workflow/VTWorkflowUtils.php'); $layoutEditorImagePath = Vtiger_Theme::getImagePath('LayoutEditor.gif'); $editWorkflowsImagePath = Vtiger_Theme::getImagePath('EditWorkflows.png'); @@ -1319,7 +1319,7 @@ class Vtiger_Module_Model extends Vtiger_Module { 'linkicon' => $layoutEditorImagePath ); - if(VTWorkflowUtils::checkModuleWorkflow($this->getName())) { + if($this->isWorkflowSupported()) { $settingsLinks[] = array( 'linktype' => 'LISTVIEWSETTING', 'linklabel' => 'LBL_EDIT_WORKFLOWS', diff --git a/modules/com_vtiger_workflow/VTWorkflowUtils.php b/modules/com_vtiger_workflow/VTWorkflowUtils.php index b78c6116ecb034d72b25b6a57a52d0842046a7c9..2448f05bdfdd59a4633cb90c3ad9db064337b1af 100644 --- a/modules/com_vtiger_workflow/VTWorkflowUtils.php +++ b/modules/com_vtiger_workflow/VTWorkflowUtils.php @@ -120,17 +120,11 @@ class VTWorkflowUtils { */ function checkModuleWorkflow($modulename) { - global $adb; - $tabid = getTabid($modulename); - $modules_not_supported = array('Calendar', 'Emails', 'Faq', 'Events', 'PBXManager', 'Users'); - $query = "SELECT name FROM vtiger_tab WHERE name not in (" . generateQuestionMarks($modules_not_supported) . ") AND isentitytype=1 AND presence = 0 AND tabid = ?"; - $result = $adb->pquery($query, array($modules_not_supported, $tabid)); - $rows = $adb->num_rows($result); - if ($rows > 0) { - return true; - } else { - return false; + $result = true; + if (in_array($modulename, array('Emails', 'Faq', 'PBXManager', 'Users')) || !getTabid($modulename)) { + $result = false; } + return $result; } function vtGetModules($adb) { diff --git a/modules/com_vtiger_workflow/tasks/VTCreateEntityTask.inc b/modules/com_vtiger_workflow/tasks/VTCreateEntityTask.inc index 44960258f10c507bab203d3504e5422a9f581873..d2a2ccb37f86da541a41020d0b4275d1cdf5f006 100644 --- a/modules/com_vtiger_workflow/tasks/VTCreateEntityTask.inc +++ b/modules/com_vtiger_workflow/tasks/VTCreateEntityTask.inc @@ -183,6 +183,7 @@ class VTCreateEntityTask extends VTTask { $newEntity->column_fields[$this->reference_field] = $focus->id; // To handle cyclic process $newEntity->_from_workflow = true; + $newEntity->column_fields['source'] = 'WORKFLOW'; //If the module triggering workflow and new entity we are creating are same, Then it might end up in infinite loop. //So we need to call saveentity than save in order to avoid workflow triggering for new entity diff --git a/modules/com_vtiger_workflow/tasks/VTCreateEventTask.inc b/modules/com_vtiger_workflow/tasks/VTCreateEventTask.inc index abd3d23f205656197407aa218bf957673f92dceb..8073b96d1ff9dd610cffb05151cf9380876fd4d6 100644 --- a/modules/com_vtiger_workflow/tasks/VTCreateEventTask.inc +++ b/modules/com_vtiger_workflow/tasks/VTCreateEventTask.inc @@ -172,7 +172,8 @@ class VTCreateEventTask extends VTTask{ unset($_REQUEST['recurringtype']); unset($fields['recurringtype']); } - + + $fields['source'] = 'WORKFLOW'; $event = vtws_create('Events', $fields, $adminUser); $eventIdDetails = vtws_getIdComponents($event['id']); $entityIdDetails = vtws_getIdComponents($id); diff --git a/modules/com_vtiger_workflow/tasks/VTCreateTodoTask.inc b/modules/com_vtiger_workflow/tasks/VTCreateTodoTask.inc index 7711454cacbe97ab611ab90d9d86fc9798c137c5..be456c0c36aaea475821f9d7328b9bc99b2e7f4d 100644 --- a/modules/com_vtiger_workflow/tasks/VTCreateTodoTask.inc +++ b/modules/com_vtiger_workflow/tasks/VTCreateTodoTask.inc @@ -109,8 +109,7 @@ class VTCreateTodoTask extends VTTask{ 'taskstatus'=>$this->status, 'assigned_user_id'=>$userId, 'time_start'=> $time, - 'sendnotification'=>($this->sendNotification!='' && $this->sendNotification!='N')? - true: false, + 'sendnotification'=>($this->sendNotification!='' && $this->sendNotification!='N') ? true: false, 'date_start'=>$startDate, 'due_date'=>$date, 'visibility'=>'Private', @@ -169,7 +168,8 @@ class VTCreateTodoTask extends VTTask{ $fields[$fieldName] = $fieldValue; } } - + + $fields['source'] = 'WORKFLOW'; $todo = vtws_create('Calendar', $fields, $adminUser); $todoIdDetails = vtws_getIdComponents($todo['id']); $entityIdDetails = vtws_getIdComponents($id); diff --git a/vtlib/Vtiger/Functions.php b/vtlib/Vtiger/Functions.php index f8da7d3190102f6d98077dc82e2f144b9413d45a..3413a8fdfd1112c580cdfc4db672a28839a49661 100644 --- a/vtlib/Vtiger/Functions.php +++ b/vtlib/Vtiger/Functions.php @@ -655,7 +655,7 @@ class Vtiger_Functions { $description = $emailTemplate->getProcessedDescription(); $tokenDataPair = explode('$', $description); $fields = Array(); - for ($i = 1; $i < count($token_data_pair); $i+=2) { + for ($i = 1; $i < count($token_data_pair); $i++) { $module = explode('-', $tokenDataPair[$i]); $fields[$module[0]][] = $module[1]; }