diff --git a/modules/Inventory/actions/ExportPDF.php b/modules/Inventory/actions/ExportPDF.php
index 313a583c5b8a381e0a02ce39e0e3e1ea0d877070..ccccab736743464a7f60da12e198d637e43facd0 100644
--- a/modules/Inventory/actions/ExportPDF.php
+++ b/modules/Inventory/actions/ExportPDF.php
@@ -10,15 +10,12 @@
 
 class Inventory_ExportPDF_Action extends Vtiger_Action_Controller {
 
-	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$recordId = $request->get('record');
-
-		if(!Users_Privileges_Model::isPermitted($moduleName, 'DetailView', $recordId)) {
-			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');
+		return $permissions;
 	}
-
+	
 	public function process(Vtiger_Request $request) {
 		$moduleName = $request->getModule();
 		$recordId = $request->get('record');
diff --git a/modules/Inventory/actions/GetTaxes.php b/modules/Inventory/actions/GetTaxes.php
index 309ab2804cb4b738b2ea29d2647ce34c278d386c..4c861866cf4464d000a13b600422bb02ac79cae9 100644
--- a/modules/Inventory/actions/GetTaxes.php
+++ b/modules/Inventory/actions/GetTaxes.php
@@ -10,6 +10,12 @@
 
 class Inventory_GetTaxes_Action extends Vtiger_Action_Controller {
 
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'sourceModule', 'action' => 'DetailView');
+		return $permissions;
+	}
+	
 	function process(Vtiger_Request $request) {
 		$decimalPlace = getCurrencyDecimalPlaces();
 		$currencyId = $request->get('currency_id');
diff --git a/modules/Vtiger/actions/BasicAjax.php b/modules/Vtiger/actions/BasicAjax.php
index f2de60fc37dbe3ebe77cc1a00c92c5d8ecb1e6f9..cdb63b727b605ac0558156fc2cbf44065028a057 100644
--- a/modules/Vtiger/actions/BasicAjax.php
+++ b/modules/Vtiger/actions/BasicAjax.php
@@ -10,6 +10,16 @@
 
 class Vtiger_BasicAjax_Action extends Vtiger_Action_Controller {
 
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		$permissions[] = array('module_parameter' => 'search_module', 'action' => 'DetailView');
+		if(!empty($request->get('parent_module'))){
+			$permissions[] = array('module_parameter' => 'parent_module', 'action' => 'DetailView');
+		}
+		return $permissions;
+	}
+	
 	public function process(Vtiger_Request $request) {
 		$searchValue = $request->get('search_value');
 		$searchModule = $request->get('search_module');
diff --git a/modules/Vtiger/actions/MassSave.php b/modules/Vtiger/actions/MassSave.php
index 6ce2075707368ff59dfdd4462472ab6521e69d0c..c6ecc8dfeb0b905d569b1bfe40a30f3422ebe1ee 100644
--- a/modules/Vtiger/actions/MassSave.php
+++ b/modules/Vtiger/actions/MassSave.php
@@ -10,16 +10,12 @@
 
 class Vtiger_MassSave_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'));
-		}
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'EditView');
+		return $permissions;
 	}
-
+	
 	public function process(Vtiger_Request $request) {
 		$response = new Vtiger_Response();
 		try {