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