diff --git a/modules/Leads/views/ConvertLead.php b/modules/Leads/views/ConvertLead.php index f3aae631b0bd04e44d89567193b6db7752af4ee6..99a84155a86e4ce1fc88fd18fdaba908953060f5 100644 --- a/modules/Leads/views/ConvertLead.php +++ b/modules/Leads/views/ConvertLead.php @@ -10,14 +10,11 @@ class Leads_ConvertLead_View extends Vtiger_Index_View { - function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); - $moduleModel = Vtiger_Module_Model::getInstance($moduleName); - - $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); - if(!$currentUserPriviligesModel->hasModuleActionPermission($moduleModel->getId(), 'ConvertLead')) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName)); - } + public function requiresPermission(\Vtiger_Request $request) { + $permissions = parent::requiresPermission($request); + $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record'); + $permissions[] = array('module_parameter' => 'module', 'action' => 'ConvertLead', 'record_parameter' => 'record'); + return $permissions; } function process(Vtiger_Request $request) { diff --git a/modules/Leads/views/SaveConvertLead.php b/modules/Leads/views/SaveConvertLead.php index ba5fd0bbf4950d068507a064b0f6b0656d285b81..dd28a74ea8f0944b8e8d16878bf6bf89edacfb46 100644 --- a/modules/Leads/views/SaveConvertLead.php +++ b/modules/Leads/views/SaveConvertLead.php @@ -11,14 +11,11 @@ vimport('~~/include/Webservices/ConvertLead.php'); class Leads_SaveConvertLead_View extends Vtiger_View_Controller { - function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); - $moduleModel = Vtiger_Module_Model::getInstance($moduleName); - - $currentUserPrivilegesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); - if(!$currentUserPrivilegesModel->hasModuleActionPermission($moduleModel->getId(), 'ConvertLead')) { - throw new AppException(vtranslate('LBL_CONVERT_LEAD_PERMISSION_DENIED', $moduleName)); - } + public function requiresPermission(\Vtiger_Request $request) { + $permissions = parent::requiresPermission($request); + $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record'); + $permissions[] = array('module_parameter' => 'module', 'action' => 'ConvertLead', 'record_parameter' => 'record'); + return $permissions; } public function process(Vtiger_Request $request) { diff --git a/modules/Vtiger/actions/Delete.php b/modules/Vtiger/actions/Delete.php index b98271563e00d4d708608cf36802d9d8a2adf4e9..783d004f492135ded2c4771ded9d9de0c6dab91c 100644 --- a/modules/Vtiger/actions/Delete.php +++ b/modules/Vtiger/actions/Delete.php @@ -10,14 +10,17 @@ class Vtiger_Delete_Action extends Vtiger_Action_Controller { + public function requiresPermission(\Vtiger_Request $request) { + $permissions = parent::requiresPermission($request); + $permissions[] = array('module_parameter' => 'module', 'action' => 'Delete', 'record_parameter' => 'record'); + return $permissions; + } + 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')); - } + parent::checkPermission($request); if ($record) { $recordEntityName = getSalesEntityType($record); diff --git a/modules/Vtiger/actions/MassDelete.php b/modules/Vtiger/actions/MassDelete.php index 40a8788b43c5bc54918ce3812438672a205ebf27..b67c22017c3c3b1813e69f44cefe4b288643f951 100644 --- a/modules/Vtiger/actions/MassDelete.php +++ b/modules/Vtiger/actions/MassDelete.php @@ -10,16 +10,12 @@ class Vtiger_MassDelete_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(), 'Delete')) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); - } + public function requiresPermission(\Vtiger_Request $request) { + $permissions = parent::requiresPermission($request); + $permissions[] = array('module_parameter' => 'module', 'action' => 'Delete'); + return $permissions; } - + function preProcess(Vtiger_Request $request) { return true; }