diff --git a/includes/runtime/Controller.php b/includes/runtime/Controller.php index bcbd0c159e37ee597e07875f9ee2a335ebf67e22..fdaa4be3cb9b0700b2c32ad337f05e4ab2cbacad 100644 --- a/includes/runtime/Controller.php +++ b/includes/runtime/Controller.php @@ -115,7 +115,17 @@ abstract class Vtiger_Action_Controller extends Vtiger_Controller { function checkPermission(Vtiger_Request $request) { $permissions = $this->requiresPermission($request); foreach($permissions as $permission) { - if(!Users_Privileges_Model::isPermitted($request->get($permission['module_parameter']), $permission['action'], $request->get($permission['record_parameter']))) { + if(array_key_exists('module_parameter', $permission)){ + $moduleParameter = $request->get($permission['module_parameter']); + }else{ + $moduleParameter = 'module'; + } + if(array_key_exists('record_parameter', $permission)){ + $recordParameter = $request->get($permission['record_parameter']); + }else{ + $recordParameter = ''; + } + if(!Users_Privileges_Model::isPermitted($moduleParameter, $permission['action'], $recordParameter)) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } }