From 57ec27ef4c8cba21942cbf90c9f8b6bad088de7c Mon Sep 17 00:00:00 2001 From: Uma <uma.s@vtiger.com> Date: Wed, 21 Aug 2019 18:15:04 +0530 Subject: [PATCH] check permission addressed on pkg modules --- modules/Vtiger/actions/Delete.php | 2 +- modules/Vtiger/actions/Mass.php | 3 ++- modules/Vtiger/actions/Save.php | 2 +- modules/Vtiger/views/Detail.php | 5 ++-- modules/Vtiger/views/Edit.php | 2 +- modules/Vtiger/views/Index.php | 2 +- modules/Vtiger/views/ListViewQuickPreview.php | 2 +- modules/Vtiger/views/QuickCreateAjax.php | 3 --- .../modules/EmailTemplates/actions/Delete.php | 13 ++++++++-- .../EmailTemplates/actions/DeleteAjax.php | 21 +++++++++------- .../EmailTemplates/actions/MassDelete.php | 13 ++++++++-- .../modules/EmailTemplates/actions/Save.php | 13 ++++++++++ .../actions/ShowTemplateContent.php | 18 +++++++------- .../modules/EmailTemplates/views/Detail.php | 13 ++++++++++ .../modules/EmailTemplates/views/Edit.php | 24 +++++++++++-------- .../modules/EmailTemplates/views/List.php | 13 ++++++++++ .../modules/EmailTemplates/views/Popup.php | 12 ++++++++-- .../Google/modules/Google/actions/Import.php | 4 ++++ .../Google/modules/Google/actions/MapAjax.php | 4 ++++ .../modules/Google/actions/SaveSettings.php | 4 ++++ .../Google/actions/SaveSyncSettings.php | 4 ++++ .../modules/Google/views/Authenticate.php | 4 ++++ .../Google/modules/Google/views/Index.php | 4 ++++ .../Google/modules/Google/views/List.php | 4 ++++ .../Google/modules/Google/views/Setting.php | 4 ++++ .../modules/MailManager/actions/Folder.php | 4 ---- .../modules/MailManager/views/Abstract.php | 6 ++++- .../MailManager/views/ComposeEmail.php | 4 ++++ .../MailManager/views/MassActionAjax.php | 6 ++++- .../RecycleBin/actions/RecycleBinAjax.php | 6 ++++- .../SMSNotifier/actions/MassSaveAjax.php | 10 -------- .../modules/SMSNotifier/views/CheckStatus.php | 10 +------- .../settings/actions/CheckDuplicate.php | 1 + .../Webforms/settings/actions/Delete.php | 1 + .../Webforms/settings/views/Detail.php | 1 + .../modules/Webforms/settings/views/Edit.php | 1 + .../settings/views/GetSourceModuleFields.php | 1 + .../modules/Webforms/settings/views/List.php | 1 + .../Webforms/settings/views/ShowForm.php | 1 + 39 files changed, 175 insertions(+), 71 deletions(-) diff --git a/modules/Vtiger/actions/Delete.php b/modules/Vtiger/actions/Delete.php index 00b1c0290..dc0e221d1 100644 --- a/modules/Vtiger/actions/Delete.php +++ b/modules/Vtiger/actions/Delete.php @@ -23,7 +23,7 @@ class Vtiger_Delete_Action extends Vtiger_Action_Controller { parent::checkPermission($request); - $nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports', 'Rss'); + $nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports', 'Rss', 'EmailTemplates'); if ($record && !in_array($moduleName, $nonEntityModules)) { $recordEntityName = getSalesEntityType($record); if ($recordEntityName !== $moduleName) { diff --git a/modules/Vtiger/actions/Mass.php b/modules/Vtiger/actions/Mass.php index f077bcb7b..cb2a11c2d 100644 --- a/modules/Vtiger/actions/Mass.php +++ b/modules/Vtiger/actions/Mass.php @@ -13,7 +13,8 @@ abstract class Vtiger_Mass_Action extends Vtiger_Action_Controller { public function requiresPermission(\Vtiger_Request $request) { $permissions = parent::requiresPermission($request); $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView'); - return $permissions; + $permissions[] = array('module_parameter' => 'module', 'action' => 'EditView'); + return $permissions; } protected function getRecordsListFromRequest(Vtiger_Request $request) { diff --git a/modules/Vtiger/actions/Save.php b/modules/Vtiger/actions/Save.php index 98bfde801..36cf4c2fd 100644 --- a/modules/Vtiger/actions/Save.php +++ b/modules/Vtiger/actions/Save.php @@ -35,7 +35,7 @@ class Vtiger_Save_Action extends Vtiger_Action_Controller { $moduleName = $request->getModule(); $record = $request->get('record'); - $nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports', 'Rss'); + $nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports', 'Rss', 'EmailTemplates'); if ($record && !in_array($moduleName, $nonEntityModules)) { $recordEntityName = getSalesEntityType($record); if ($recordEntityName !== $moduleName) { diff --git a/modules/Vtiger/views/Detail.php b/modules/Vtiger/views/Detail.php index 940912466..51370ac9c 100644 --- a/modules/Vtiger/views/Detail.php +++ b/modules/Vtiger/views/Detail.php @@ -58,17 +58,18 @@ class Vtiger_Detail_View extends Vtiger_Index_View { } function checkPermission(Vtiger_Request $request) { + parent::checkPermission($request); $moduleName = $request->getModule(); $recordId = $request->get('record'); - $nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports', 'Rss'); + $nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports', 'Rss', 'EmailTemplates'); if ($recordId && !in_array($moduleName, $nonEntityModules)) { $recordEntityName = getSalesEntityType($recordId); if ($recordEntityName !== $moduleName) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } } - return parent::checkPermission($request); + return true; } function preProcess(Vtiger_Request $request, $display=true) { diff --git a/modules/Vtiger/views/Edit.php b/modules/Vtiger/views/Edit.php index fb653ee02..d33c4e768 100644 --- a/modules/Vtiger/views/Edit.php +++ b/modules/Vtiger/views/Edit.php @@ -29,7 +29,7 @@ Class Vtiger_Edit_View extends Vtiger_Index_View { $moduleName = $request->getModule(); $record = $request->get('record'); - $nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports', 'Rss'); + $nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports', 'Rss', 'EmailTemplates'); if ($record && !in_array($moduleName, $nonEntityModules)) { $recordEntityName = getSalesEntityType($record); if ($recordEntityName !== $moduleName) { diff --git a/modules/Vtiger/views/Index.php b/modules/Vtiger/views/Index.php index 8e9b597e8..7818f31e8 100644 --- a/modules/Vtiger/views/Index.php +++ b/modules/Vtiger/views/Index.php @@ -16,7 +16,7 @@ class Vtiger_Index_View extends Vtiger_Basic_View { public function requiresPermission(\Vtiger_Request $request) { $permissions = parent::requiresPermission($request); - $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView'); + $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record'); return $permissions; } diff --git a/modules/Vtiger/views/ListViewQuickPreview.php b/modules/Vtiger/views/ListViewQuickPreview.php index 3010a2f35..3b0761e28 100644 --- a/modules/Vtiger/views/ListViewQuickPreview.php +++ b/modules/Vtiger/views/ListViewQuickPreview.php @@ -28,7 +28,7 @@ class Vtiger_ListViewQuickPreview_View extends Vtiger_Index_View { parent::checkPermission($request); - $nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports', 'Rss'); + $nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports', 'Rss', 'EmailTemplates'); if ($recordId && !in_array($moduleName, $nonEntityModules)) { $recordEntityName = getSalesEntityType($recordId); if ($recordEntityName !== $moduleName) { diff --git a/modules/Vtiger/views/QuickCreateAjax.php b/modules/Vtiger/views/QuickCreateAjax.php index 742d952c5..76c189aba 100644 --- a/modules/Vtiger/views/QuickCreateAjax.php +++ b/modules/Vtiger/views/QuickCreateAjax.php @@ -16,9 +16,6 @@ class Vtiger_QuickCreateAjax_View extends Vtiger_IndexAjax_View { $permissions[] = array('module_parameter' => 'module', 'action' => 'CreateView'); return $permissions; } - public function checkPermission(Vtiger_Request $request) { - return parent::checkPermission($request); - } public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Delete.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Delete.php index 5d8bbe004..72813ceb9 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Delete.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Delete.php @@ -10,9 +10,18 @@ class EmailTemplates_Delete_Action extends Vtiger_Delete_Action { - function checkPermission(Vtiger_Request $request) { - return true; + public function requiresPermission(\Vtiger_Request $request) { + return array(); } + + public function checkPermission($request) { + $moduleName = $request->getModule(); + $moduleModel = Vtiger_Module_Model::getInstance($moduleName); + if(!$moduleModel->isActive()){ + return false; + } + return true; + } public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/DeleteAjax.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/DeleteAjax.php index 2c4b99570..a381b9101 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/DeleteAjax.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/DeleteAjax.php @@ -10,16 +10,19 @@ class EmailTemplates_DeleteAjax_Action extends Vtiger_Delete_Action { - public function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); - $record = $request->get('record'); - - $currentUserPrivilegesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); - if(!$currentUserPrivilegesModel->isPermitted($moduleName, 'Delete', $record)) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); - } + public function requiresPermission(\Vtiger_Request $request) { + return array(); } - + + public function checkPermission($request) { + $moduleName = $request->getModule(); + $moduleModel = Vtiger_Module_Model::getInstance($moduleName); + if(!$moduleModel->isActive()){ + return false; + } + return true; + } + public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $recordId = $request->get('record'); diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/MassDelete.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/MassDelete.php index ff0959be5..9475702e6 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/MassDelete.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/MassDelete.php @@ -10,10 +10,19 @@ class EmailTemplates_MassDelete_Action extends Vtiger_Mass_Action { - function checkPermission(){ - return true; + public function requiresPermission(\Vtiger_Request $request) { + return array(); } + public function checkPermission($request) { + $moduleName = $request->getModule(); + $moduleModel = Vtiger_Module_Model::getInstance($moduleName); + if(!$moduleModel->isActive()){ + return false; + } + return true; + } + function preProcess(Vtiger_Request $request) { return true; } diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php index 3fad84c90..2ce48d0e6 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php @@ -10,6 +10,19 @@ class EmailTemplates_Save_Action extends Vtiger_Save_Action { + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + + public function checkPermission($request) { + $moduleName = $request->getModule(); + $moduleModel = Vtiger_Module_Model::getInstance($moduleName); + if(!$moduleModel->isActive()){ + return false; + } + return true; + } + public function process(Vtiger_Request $request) { $site_URL = vglobal('site_URL'); $moduleName = $request->getModule(); diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/ShowTemplateContent.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/ShowTemplateContent.php index 2d2e9402e..4d97bec0c 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/ShowTemplateContent.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/ShowTemplateContent.php @@ -14,6 +14,15 @@ class EmailTemplates_ShowTemplateContent_Action extends Vtiger_Action_Controller $this->exposeMethod('getContent'); } + public function checkPermission($request) { + $moduleName = $request->getModule(); + $moduleModel = Vtiger_Module_Model::getInstance($moduleName); + if(!$moduleModel->isActive()){ + return false; + } + return true; + } + public function process(Vtiger_Request $request) { $mode = $request->getMode(); if (!empty($mode)) { @@ -23,15 +32,6 @@ class EmailTemplates_ShowTemplateContent_Action extends Vtiger_Action_Controller } } - public function checkPermission(Vtiger_Request $request) { - $record = $request->get('record'); - $moduleName = $request->getModule(); - - if (!Users_Privileges_Model::isPermitted($moduleName, 'DetailView', $record)) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); - } - } - public function getContent(Vtiger_Request $request) { $response = new Vtiger_Response(); $recordId = $request->get('record'); diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Detail.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Detail.php index 484363abe..120633386 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Detail.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Detail.php @@ -10,6 +10,19 @@ class EmailTemplates_Detail_View extends Vtiger_Index_View { + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + + public function checkPermission($request) { + $moduleName = $request->getModule(); + $moduleModel = Vtiger_Module_Model::getInstance($moduleName); + if(!$moduleModel->isActive()){ + return false; + } + return true; + } + function preProcess(Vtiger_Request $request, $display=true) { parent::preProcess($request, false); diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Edit.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Edit.php index f771f4c29..abc14a7e5 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Edit.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Edit.php @@ -10,7 +10,20 @@ Class EmailTemplates_Edit_View extends Vtiger_Index_View { - public function preProcess(Vtiger_Request $request, $display = true) { + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + + public function checkPermission($request) { + $moduleName = $request->getModule(); + $moduleModel = Vtiger_Module_Model::getInstance($moduleName); + if(!$moduleModel->isActive()){ + return false; + } + return true; + } + + public function preProcess(Vtiger_Request $request, $display = true) { $record = $request->get('record'); if (!empty($record)) { $recordModel = EmailTemplates_Record_Model::getInstanceById($record); @@ -36,15 +49,6 @@ Class EmailTemplates_Edit_View extends Vtiger_Index_View { $viewer->assign('MODULE_SETTING_ACTIONS', $settingLinks); } - /** - * Function to check module Edit Permission - * @param Vtiger_Request $request - * @return boolean - */ - public function checkPermission(Vtiger_Request $request) { - return true; - } - /** * Function to get the list of Script models to be included * @param Vtiger_Request $request diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php index 225730d59..8c7b04c1a 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php @@ -14,6 +14,19 @@ class EmailTemplates_List_View extends Vtiger_Index_View { parent::__construct(); } + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + + public function checkPermission($request) { + $moduleName = $request->getModule(); + $moduleModel = Vtiger_Module_Model::getInstance($moduleName); + if(!$moduleModel->isActive()){ + return false; + } + return true; + } + function preProcess(Vtiger_Request $request, $display = true) { parent::preProcess($request, false); diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php index d5e561d00..9eb4bb018 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php @@ -10,10 +10,18 @@ class EmailTemplates_Popup_View extends Vtiger_Popup_View { - public function checkPermission(Vtiger_Request $request) { - return true; + public function requiresPermission(\Vtiger_Request $request) { + return array(); } + public function checkPermission($request) { + $moduleName = $request->getModule(); + $moduleModel = Vtiger_Module_Model::getInstance($moduleName); + if(!$moduleModel->isActive()){ + return false; + } + return true; + } /* * Function to initialize the required data in smarty to display the List View Contents */ diff --git a/pkg/vtiger/modules/Google/modules/Google/actions/Import.php b/pkg/vtiger/modules/Google/modules/Google/actions/Import.php index 0a3cbd760..1ea5d6dfd 100644 --- a/pkg/vtiger/modules/Google/modules/Google/actions/Import.php +++ b/pkg/vtiger/modules/Google/modules/Google/actions/Import.php @@ -10,6 +10,10 @@ class Google_Import_Action extends Vtiger_BasicAjax_Action { + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + function process(Vtiger_Request $request) { $request->set('sourcemodule', 'Contacts'); $sourceModule = $request->get('sourcemodule'); diff --git a/pkg/vtiger/modules/Google/modules/Google/actions/MapAjax.php b/pkg/vtiger/modules/Google/modules/Google/actions/MapAjax.php index 6fbf65a2c..3fda89a19 100644 --- a/pkg/vtiger/modules/Google/modules/Google/actions/MapAjax.php +++ b/pkg/vtiger/modules/Google/modules/Google/actions/MapAjax.php @@ -11,6 +11,10 @@ class Google_MapAjax_Action extends Vtiger_BasicAjax_Action { + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + public function process(Vtiger_Request $request) { switch ($request->get("mode")) { case 'getLocation' : $result = $this->getLocation($request); diff --git a/pkg/vtiger/modules/Google/modules/Google/actions/SaveSettings.php b/pkg/vtiger/modules/Google/modules/Google/actions/SaveSettings.php index d3c417b90..2dc74f203 100644 --- a/pkg/vtiger/modules/Google/modules/Google/actions/SaveSettings.php +++ b/pkg/vtiger/modules/Google/modules/Google/actions/SaveSettings.php @@ -11,6 +11,10 @@ class Google_SaveSettings_Action extends Vtiger_BasicAjax_Action { + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + public function process(Vtiger_Request $request) { $sourceModule = $request->get('sourcemodule'); $fieldMapping = $request->get('fieldmapping'); diff --git a/pkg/vtiger/modules/Google/modules/Google/actions/SaveSyncSettings.php b/pkg/vtiger/modules/Google/modules/Google/actions/SaveSyncSettings.php index d72d9a9d9..b8cfb91cf 100644 --- a/pkg/vtiger/modules/Google/modules/Google/actions/SaveSyncSettings.php +++ b/pkg/vtiger/modules/Google/modules/Google/actions/SaveSyncSettings.php @@ -10,6 +10,10 @@ class Google_SaveSyncSettings_Action extends Vtiger_BasicAjax_Action { + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + public function process(Vtiger_Request $request) { $contactsSettings = $request->get('Contacts'); $calendarSettings = $request->get('Calendar'); diff --git a/pkg/vtiger/modules/Google/modules/Google/views/Authenticate.php b/pkg/vtiger/modules/Google/modules/Google/views/Authenticate.php index 406e75273..d8872c81d 100644 --- a/pkg/vtiger/modules/Google/modules/Google/views/Authenticate.php +++ b/pkg/vtiger/modules/Google/modules/Google/views/Authenticate.php @@ -10,6 +10,10 @@ class Google_Authenticate_View extends Vtiger_Index_View { + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + public function checkPermission(Vtiger_Request $request) { $moduleName = $request->getModule(); diff --git a/pkg/vtiger/modules/Google/modules/Google/views/Index.php b/pkg/vtiger/modules/Google/modules/Google/views/Index.php index 48c9ab0c1..0b9c9adbd 100644 --- a/pkg/vtiger/modules/Google/modules/Google/views/Index.php +++ b/pkg/vtiger/modules/Google/modules/Google/views/Index.php @@ -14,6 +14,10 @@ class Google_Index_View extends Vtiger_ExtensionViews_View { parent::__construct(); $this->exposeMethod('settings'); } + + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } function getUserEmail() { $user = Users_Record_Model::getCurrentUserModel(); diff --git a/pkg/vtiger/modules/Google/modules/Google/views/List.php b/pkg/vtiger/modules/Google/modules/Google/views/List.php index 3570e508f..c9756f305 100644 --- a/pkg/vtiger/modules/Google/modules/Google/views/List.php +++ b/pkg/vtiger/modules/Google/modules/Google/views/List.php @@ -16,6 +16,10 @@ class Google_List_View extends Vtiger_PopupAjax_View { $this->exposeMethod('Contacts'); $this->exposeMethod('Calendar'); } + + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } function process(Vtiger_Request $request) { switch ($request->get('operation')) { diff --git a/pkg/vtiger/modules/Google/modules/Google/views/Setting.php b/pkg/vtiger/modules/Google/modules/Google/views/Setting.php index bdaf161d8..e27ecffed 100644 --- a/pkg/vtiger/modules/Google/modules/Google/views/Setting.php +++ b/pkg/vtiger/modules/Google/modules/Google/views/Setting.php @@ -14,6 +14,10 @@ class Google_Setting_View extends Vtiger_PopupAjax_View { $this->exposeMethod('emitContactSyncSettingUI'); } + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + public function process(Vtiger_Request $request) { switch ($request->get('sourcemodule')) { case "Contacts" : $this->emitContactsSyncSettingUI($request); diff --git a/pkg/vtiger/modules/MailManager/modules/MailManager/actions/Folder.php b/pkg/vtiger/modules/MailManager/modules/MailManager/actions/Folder.php index 2db5e533c..00e28e0d2 100644 --- a/pkg/vtiger/modules/MailManager/modules/MailManager/actions/Folder.php +++ b/pkg/vtiger/modules/MailManager/modules/MailManager/actions/Folder.php @@ -15,10 +15,6 @@ class MailManager_Folder_Action extends Vtiger_Action_Controller { $this->exposeMethod('showMailContent'); } - function checkPermission(Vtiger_Request $request) { - return true; - } - public function process(Vtiger_Request $request) { $mode = $request->getMode(); if (!empty($mode)) { diff --git a/pkg/vtiger/modules/MailManager/modules/MailManager/views/Abstract.php b/pkg/vtiger/modules/MailManager/modules/MailManager/views/Abstract.php index bdd18fdd7..d3e6112a2 100644 --- a/pkg/vtiger/modules/MailManager/modules/MailManager/views/Abstract.php +++ b/pkg/vtiger/modules/MailManager/modules/MailManager/views/Abstract.php @@ -16,7 +16,11 @@ vimport('modules/Settings/MailConverter/handlers/MailRecord.php'); abstract class MailManager_Abstract_View extends Vtiger_Index_View { - public function preProcess (Vtiger_Request $request, $display = true) { + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + + public function preProcess (Vtiger_Request $request, $display = true) { if ($this->getOperationArg($request) === 'attachment_dld') { return true; } else { diff --git a/pkg/vtiger/modules/MailManager/modules/MailManager/views/ComposeEmail.php b/pkg/vtiger/modules/MailManager/modules/MailManager/views/ComposeEmail.php index 96a9213fc..5dbd4936d 100644 --- a/pkg/vtiger/modules/MailManager/modules/MailManager/views/ComposeEmail.php +++ b/pkg/vtiger/modules/MailManager/modules/MailManager/views/ComposeEmail.php @@ -9,6 +9,10 @@ * ***********************************************************************************/ class MailManager_ComposeEmail_View extends Vtiger_ComposeEmail_View { + + public function requiresPermission(Vtiger_Request $request){ + return array(); + } public function composeMailData($request) { $moduleName = 'Emails'; diff --git a/pkg/vtiger/modules/MailManager/modules/MailManager/views/MassActionAjax.php b/pkg/vtiger/modules/MailManager/modules/MailManager/views/MassActionAjax.php index af68246a0..7d43c4cf5 100644 --- a/pkg/vtiger/modules/MailManager/modules/MailManager/views/MassActionAjax.php +++ b/pkg/vtiger/modules/MailManager/modules/MailManager/views/MassActionAjax.php @@ -10,7 +10,11 @@ class MailManager_MassActionAjax_View extends Vtiger_MassActionAjax_View { - protected function getEmailFieldsInfo(Vtiger_Request $request) { + public function requiresPermission(\Vtiger_Request $request) { + return array(); + } + + protected function getEmailFieldsInfo(Vtiger_Request $request) { $sourceModules = Array(); $linkToModule = $request->get('linktomodule'); if (!empty($linkToModule)) { diff --git a/pkg/vtiger/modules/RecycleBin/modules/RecycleBin/actions/RecycleBinAjax.php b/pkg/vtiger/modules/RecycleBin/modules/RecycleBin/actions/RecycleBinAjax.php index 0d8b141f3..3d5a429a4 100644 --- a/pkg/vtiger/modules/RecycleBin/modules/RecycleBin/actions/RecycleBinAjax.php +++ b/pkg/vtiger/modules/RecycleBin/modules/RecycleBin/actions/RecycleBinAjax.php @@ -19,7 +19,11 @@ class RecycleBin_RecycleBinAjax_Action extends Vtiger_Mass_Action { function checkPermission(Vtiger_Request $request) { if($request->get('mode') == 'emptyRecycleBin') { - //we dont check for permissions since recylebin axis will not be there for non admin users + //Only admin user can empty the recycle bin, so this check is mabdatory + $currentUserModel = Users_Record_Model::getCurrentUserModel(); + if(!$currentUserModel->isAdminUser()) { + throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger')); + } return true; } $targetModuleName = $request->get('sourceModule', $request->get('module')); diff --git a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/actions/MassSaveAjax.php b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/actions/MassSaveAjax.php index a03a9ae4b..76d364ecb 100644 --- a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/actions/MassSaveAjax.php +++ b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/actions/MassSaveAjax.php @@ -10,16 +10,6 @@ class SMSNotifier_MassSaveAjax_Action extends Vtiger_Mass_Action { - function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); - $moduleModel = Vtiger_Module_Model::getInstance($moduleName); - - $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); - if(!$currentUserPriviligesModel->hasModuleActionPermission($moduleModel->getId(), 'Save')) { - throw new AppException(vtranslate($moduleName, $moduleName).' '.vtranslate('LBL_NOT_ACCESSIBLE')); - } - } - /** * Function that saves SMS records * @param Vtiger_Request $request diff --git a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/views/CheckStatus.php b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/views/CheckStatus.php index e2a3e5b8a..e3b7976e9 100644 --- a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/views/CheckStatus.php +++ b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/views/CheckStatus.php @@ -10,15 +10,7 @@ class SMSNotifier_CheckStatus_View extends Vtiger_IndexAjax_View { - function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); - - if(!Users_Privileges_Model::isPermitted($moduleName, 'DetailView', $request->get('record'))) { - throw new AppException(vtranslate($moduleName, $moduleName).' '.vtranslate('LBL_NOT_ACCESSIBLE')); - } - } - - function process(Vtiger_Request $request) { + function process(Vtiger_Request $request) { $viewer = $this->getViewer($request); $moduleName = $request->getModule(); diff --git a/pkg/vtiger/modules/Webforms/settings/actions/CheckDuplicate.php b/pkg/vtiger/modules/Webforms/settings/actions/CheckDuplicate.php index c20c03690..0e13a01a4 100644 --- a/pkg/vtiger/modules/Webforms/settings/actions/CheckDuplicate.php +++ b/pkg/vtiger/modules/Webforms/settings/actions/CheckDuplicate.php @@ -19,6 +19,7 @@ class Settings_Webforms_CheckDuplicate_Action extends Settings_Vtiger_Index_Acti if(!$currentUserPrivilegesModel->hasModulePermission($moduleModel->getId())) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } + return true; } public function process(Vtiger_Request $request) { diff --git a/pkg/vtiger/modules/Webforms/settings/actions/Delete.php b/pkg/vtiger/modules/Webforms/settings/actions/Delete.php index 141015b02..c4749cf10 100644 --- a/pkg/vtiger/modules/Webforms/settings/actions/Delete.php +++ b/pkg/vtiger/modules/Webforms/settings/actions/Delete.php @@ -20,6 +20,7 @@ class Settings_Webforms_Delete_Action extends Settings_Vtiger_Index_Action { if(!$recordId || !$currentUserPrivilegesModel->hasModulePermission($moduleModel->getId())) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } + return true; } public function process(Vtiger_Request $request) { diff --git a/pkg/vtiger/modules/Webforms/settings/views/Detail.php b/pkg/vtiger/modules/Webforms/settings/views/Detail.php index 88c2879b8..c43d2442b 100644 --- a/pkg/vtiger/modules/Webforms/settings/views/Detail.php +++ b/pkg/vtiger/modules/Webforms/settings/views/Detail.php @@ -20,6 +20,7 @@ class Settings_Webforms_Detail_View extends Settings_Vtiger_Index_View { if(!$recordId || !$currentUserPrivilegesModel->hasModulePermission($moduleModel->getId())) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } + return true; } public function process(Vtiger_Request $request) { diff --git a/pkg/vtiger/modules/Webforms/settings/views/Edit.php b/pkg/vtiger/modules/Webforms/settings/views/Edit.php index 221fd21dd..bb49a9957 100644 --- a/pkg/vtiger/modules/Webforms/settings/views/Edit.php +++ b/pkg/vtiger/modules/Webforms/settings/views/Edit.php @@ -19,6 +19,7 @@ Class Settings_Webforms_Edit_View extends Settings_Vtiger_Index_View { if (!$currentUserPrivilegesModel->hasModulePermission($moduleModel->getId())) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } + return true; } public function process(Vtiger_Request $request) { diff --git a/pkg/vtiger/modules/Webforms/settings/views/GetSourceModuleFields.php b/pkg/vtiger/modules/Webforms/settings/views/GetSourceModuleFields.php index 0cdbafe69..bf4cca671 100644 --- a/pkg/vtiger/modules/Webforms/settings/views/GetSourceModuleFields.php +++ b/pkg/vtiger/modules/Webforms/settings/views/GetSourceModuleFields.php @@ -19,6 +19,7 @@ class Settings_Webforms_GetSourceModuleFields_View extends Settings_Vtiger_Index if(!$currentUserPrivilegesModel->hasModulePermission($moduleModel->getId())) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } + return true; } public function process(Vtiger_Request $request) { diff --git a/pkg/vtiger/modules/Webforms/settings/views/List.php b/pkg/vtiger/modules/Webforms/settings/views/List.php index a723ad736..76873580e 100644 --- a/pkg/vtiger/modules/Webforms/settings/views/List.php +++ b/pkg/vtiger/modules/Webforms/settings/views/List.php @@ -25,6 +25,7 @@ class Settings_Webforms_List_View extends Settings_Vtiger_List_View { if(!$currentUserPrivilegesModel->hasModulePermission($moduleModel->getId())) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } + return true; } /** diff --git a/pkg/vtiger/modules/Webforms/settings/views/ShowForm.php b/pkg/vtiger/modules/Webforms/settings/views/ShowForm.php index 91cffb477..2f8ba7bba 100644 --- a/pkg/vtiger/modules/Webforms/settings/views/ShowForm.php +++ b/pkg/vtiger/modules/Webforms/settings/views/ShowForm.php @@ -20,6 +20,7 @@ Class Settings_Webforms_ShowForm_View extends Settings_Vtiger_IndexAjax_View { if(!$recordId || !$currentUserPrivilegesModel->hasModulePermission($moduleModel->getId())) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } + return true; } public function process(Vtiger_Request $request) { -- GitLab