diff --git a/modules/PurchaseOrder/actions/CompanyDetails.php b/modules/PurchaseOrder/actions/CompanyDetails.php index 942b374c355133b15ffa663d8daadd8923f6508b..fdac26100b7eec861f80dd1f42c061a753281e65 100644 --- a/modules/PurchaseOrder/actions/CompanyDetails.php +++ b/modules/PurchaseOrder/actions/CompanyDetails.php @@ -10,22 +10,30 @@ class PurchaseOrder_CompanyDetails_Action extends Vtiger_Action_Controller { - function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); - $moduleModel = Vtiger_Module_Model::getInstance($moduleName); - - $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); - if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) { - throw new AppException(vtranslate($moduleName, $moduleName).' '.vtranslate('LBL_NOT_ACCESSIBLE')); - } - } - - function __construct() { + function __construct() { parent::__construct(); $this->exposeMethod('getCompanyDetails'); $this->exposeMethod('getAddressDetails'); } + public function requiresPermission(Vtiger_Request $request){ + $permissions = parent::requiresPermission($request); + $mode = $request->getMode(); + if(!empty($mode)) { + switch ($mode) { + case 'getCompanyDetails': + $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView'); + break; + case 'getAddressDetails': + $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'recordId'); + break; + default: + break; + } + } + return $permissions; + } + function process(Vtiger_Request $request) { $mode = $request->getMode(); if(!empty($mode)) { diff --git a/modules/PurchaseOrder/actions/GetTaxes.php b/modules/PurchaseOrder/actions/GetTaxes.php index 7e1598d7018aa750767922d3823ac44159420476..19f8d026a8bfe0d71a7aa36b54c064b8abf7f6f2 100644 --- a/modules/PurchaseOrder/actions/GetTaxes.php +++ b/modules/PurchaseOrder/actions/GetTaxes.php @@ -10,17 +10,6 @@ class PurchaseOrder_GetTaxes_Action extends Inventory_GetTaxes_Action { - function checkPermission(Vtiger_Request $request) { - $record = $request->get('record'); - - $moduleName = getSalesEntityType($record); - $recordPermission = Users_Privileges_Model::isPermitted($moduleName, 'DetailView', $record); - - if(!$recordPermission) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); - } - } - function process(Vtiger_Request $request) { $decimalPlace = getCurrencyDecimalPlaces(); $currencyId = $request->get('currency_id');