diff --git a/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl b/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl index 43f60b6275832aea9a0d3048f4291316059b072e..85c86156b3b95dd58c2d0964de13aea94d922a3b 100644 --- a/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl +++ b/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl @@ -148,7 +148,7 @@ <a {if stripos($SETTING->getUrl(), 'javascript:') === 0} onclick='{$SETTING->getUrl()|substr:strlen("javascript:")};' {else} - onclick='window.location.href="{$SETTING->getUrl()}"' + href="{$SETTING->getUrl()}" {/if}> {vtranslate($SETTING->getLabel(), $QUALIFIEDMODULE)}</a> </li> diff --git a/modules/Calendar/actions/ExportData.php b/modules/Calendar/actions/ExportData.php index 228780e6a863de3b2ebaf9b17a6c471607ecc4ce..e6fb1ac7660870b52390f9cb1712f93f3a17ac35 100644 --- a/modules/Calendar/actions/ExportData.php +++ b/modules/Calendar/actions/ExportData.php @@ -44,6 +44,7 @@ class Calendar_ExportData_Action extends Vtiger_ExportData_Action { * @param Vtiger_Request $request */ public function ExportData(Vtiger_Request $request) { + $this->moduleCall = true; if ($request->get('type') == 'csv') { parent::ExportData($request); return; diff --git a/modules/Settings/Leads/models/Mapping.php b/modules/Settings/Leads/models/Mapping.php index e9c5b841ddcd29d781381eafc0bfb84416a0b1da..3100f8e4790c140cb16e74419614650c6bf06615 100644 --- a/modules/Settings/Leads/models/Mapping.php +++ b/modules/Settings/Leads/models/Mapping.php @@ -195,26 +195,30 @@ class Settings_Leads_Mapping_Model extends Settings_Vtiger_Module_Model { $accountQuery = ' accountfid = CASE '; $contactQuery = ' contactfid = CASE '; $potentialQuery = ' potentialfid = CASE '; - $paramArray = array(); + $paramArray = $leadParamArray = $accountParamArray = $contactParamArray = $potentialParamArray = array(); foreach ($updateMappingsList as $mappingDetails) { $mappingId = $mappingDetails['mappingId']; - $leadQuery .= ' WHEN cfmid = ? THEN ?'; - array_push($paramArray, $mappingId); - array_push($paramArray, $mappingDetails['lead']); - $accountQuery .= ' WHEN cfmid = ? THEN ?'; - array_push($paramArray, $mappingId); - array_push($paramArray, $mappingDetails['account']); - $contactQuery .= ' WHEN cfmid = ? THEN ?'; - array_push($paramArray, $mappingId); - array_push($paramArray, $mappingDetails['contact']); - $potentialQuery .= ' WHEN cfmid = ? THEN ?'; - array_push($paramArray, $mappingId); - array_push($paramArray, $mappingDetails['potential']); + $leadQuery .= ' WHEN cfmid = ? THEN ? '; + array_push($leadParamArray, $mappingId); + array_push($leadParamArray, $mappingDetails['lead']); + $accountQuery .= ' WHEN cfmid = ? THEN ? '; + array_push($accountParamArray, $mappingId); + array_push($accountParamArray, $mappingDetails['account']); + $contactQuery .= ' WHEN cfmid = ? THEN ? '; + array_push($contactParamArray, $mappingId); + array_push($contactParamArray, $mappingDetails['contact']); + $potentialQuery .= ' WHEN cfmid = ? THEN ? '; + array_push($potentialParamArray, $mappingId); + array_push($potentialParamArray, $mappingDetails['potential']); } $leadQuery .= ' ELSE leadfid END '; $accountQuery .= ' ELSE accountfid END '; $contactQuery .= ' ELSE contactfid END '; $potentialQuery .= ' ELSE potentialfid END '; + $paramArray = array_merge($paramArray, $leadParamArray); + $paramArray = array_merge($paramArray, $accountParamArray); + $paramArray = array_merge($paramArray, $contactParamArray); + $paramArray = array_merge($paramArray, $potentialParamArray); array_push($paramArray, 1); $db->pquery("UPDATE vtiger_convertleadmapping $leadQuery, $accountQuery, $contactQuery, $potentialQuery WHERE editable = ?", $paramArray); } diff --git a/modules/Users/actions/ExportData.php b/modules/Users/actions/ExportData.php index 5fa70a473e2fb901ae59af7a847c3c853d202230..c813c1943fad639f9d9fb4c3efc795fc30d1007f 100644 --- a/modules/Users/actions/ExportData.php +++ b/modules/Users/actions/ExportData.php @@ -31,6 +31,7 @@ class Users_ExportData_Action extends Vtiger_ExportData_Action { * @param Vtiger_Request $request */ function ExportData(Vtiger_Request $request) { + $this->moduleCall = true; $db = PearDatabase::getInstance(); $moduleName = $request->get('source_module'); if ($moduleName) { @@ -72,5 +73,8 @@ class Users_ExportData_Action extends Vtiger_ExportData_Action { $queryGenerator->setFields($acceptedFields); return $queryGenerator->getQuery(); } - + + public function validateRequest(Vtiger_Request $request) { + $request->validateReadAccess(); + } } diff --git a/modules/Vtiger/actions/ExportData.php b/modules/Vtiger/actions/ExportData.php index 8bbb63b36ea53b8300b22bf9d8bbbbb199aa01d1..3d116b4b9f2ca3e693da11710e292151f6f598c5 100644 --- a/modules/Vtiger/actions/ExportData.php +++ b/modules/Vtiger/actions/ExportData.php @@ -10,6 +10,7 @@ class Vtiger_ExportData_Action extends Vtiger_Mass_Action { + var $moduleCall = false; function checkPermission(Vtiger_Request $request) { $moduleName = $request->getModule(); $sourceModule = $request->get('source_module'); @@ -49,6 +50,13 @@ class Vtiger_ExportData_Action extends Vtiger_Mass_Action { $query = $this->getExportQuery($request); $result = $db->pquery($query, array()); + $redirectedModules = array('Users', 'Calendar'); + if($request->getModule() != $moduleName && in_array($moduleName, $redirectedModules) && !$this->moduleCall){ + $handlerClass = Vtiger_Loader::getComponentClassName('Action', 'ExportData', $moduleName); + $handler = new $handlerClass(); + $handler->ExportData($request); + return; + } $translatedHeaders = $this->getHeaders(); $entries = array(); for ($j = 0; $j < $db->num_rows($result); $j++) {