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/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++) {