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; }