diff --git a/modules/Settings/Leads/actions/MappingDelete.php b/modules/Settings/Leads/actions/MappingDelete.php
index db860190d92b1ff53fbb134bc73b8c61c26d99b8..9db4ef8a8244ed6d1be73326070733947a84d1f4 100644
--- a/modules/Settings/Leads/actions/MappingDelete.php
+++ b/modules/Settings/Leads/actions/MappingDelete.php
@@ -9,6 +9,12 @@
  *************************************************************************************/
 
 class Settings_Leads_MappingDelete_Action extends Settings_Vtiger_Index_Action {
+    
+    public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		return $permissions;
+	}
 
 	public function process(Vtiger_Request $request) {
 		$recordId = $request->get('mappingId');
diff --git a/modules/Settings/Leads/actions/MappingSave.php b/modules/Settings/Leads/actions/MappingSave.php
index 4aafa45ef0bf03a36a06d698213632d3574c5444..ab2d1e6c8f868496dc3066b5f3bb0c741c7a5136 100644
--- a/modules/Settings/Leads/actions/MappingSave.php
+++ b/modules/Settings/Leads/actions/MappingSave.php
@@ -9,6 +9,12 @@
  *************************************************************************************/
 
 class Settings_Leads_MappingSave_Action extends Settings_Vtiger_Index_Action {
+    
+    public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		return $permissions;
+	}
 
 	public function process(Vtiger_Request $request) {
 		$qualifiedModuleName = $request->getModule(false);
diff --git a/modules/Settings/Leads/views/MappingDetail.php b/modules/Settings/Leads/views/MappingDetail.php
index fa4e0d875d4695d4920378cd268761c713faf10a..9d20ce303920ead501e19dd26cd4e5fb5ee7e261 100644
--- a/modules/Settings/Leads/views/MappingDetail.php
+++ b/modules/Settings/Leads/views/MappingDetail.php
@@ -10,7 +10,7 @@
 
 class Settings_Leads_MappingDetail_View extends Settings_Vtiger_Index_View {
 
-    public function requiresPermission(\Vtiger_Request $request) {
+   public function requiresPermission(\Vtiger_Request $request) {
 		$permissions = parent::requiresPermission($request);
 		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
 		return $permissions;
diff --git a/modules/Settings/Potentials/actions/MappingDelete.php b/modules/Settings/Potentials/actions/MappingDelete.php
index ac6a9936543964636afc4655351a693b1c361907..fb2e3c09193bbedd6f509b04bbf6ae719bca447d 100644
--- a/modules/Settings/Potentials/actions/MappingDelete.php
+++ b/modules/Settings/Potentials/actions/MappingDelete.php
@@ -9,6 +9,12 @@
  *************************************************************************************/
 
 class Settings_Potentials_MappingDelete_Action extends Settings_Vtiger_Index_Action {
+    
+    public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		return $permissions;
+	}
 
 	public function process(Vtiger_Request $request) {
 		$recordId = $request->get('mappingId');
diff --git a/modules/Settings/Potentials/actions/MappingSave.php b/modules/Settings/Potentials/actions/MappingSave.php
index e91d8e386829461c331abaa77273649457ec6ae3..743a00afa2fec9ed017cfa9b9a40879350c2f98d 100644
--- a/modules/Settings/Potentials/actions/MappingSave.php
+++ b/modules/Settings/Potentials/actions/MappingSave.php
@@ -9,6 +9,12 @@
  *************************************************************************************/
 
 class Settings_Potentials_MappingSave_Action extends Settings_Vtiger_Index_Action {
+    
+    public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		return $permissions;
+	}
 
 	public function process(Vtiger_Request $request) {
 		$qualifiedModuleName = $request->getModule(false);
diff --git a/modules/Settings/Potentials/views/MappingDetail.php b/modules/Settings/Potentials/views/MappingDetail.php
index ceb4cb99f2412667ce75d1c08b01609294545c4d..faf0fe7f79a113911498653eb6ec0e6478dfc661 100644
--- a/modules/Settings/Potentials/views/MappingDetail.php
+++ b/modules/Settings/Potentials/views/MappingDetail.php
@@ -10,12 +10,10 @@
 
 class Settings_Potentials_MappingDetail_View extends Settings_Vtiger_Index_View {
 
-	function checkPermission(Vtiger_Request $request) {
-		parent::checkPermission($request);
-		$sourceModule = 'Potentials';
-		if(!vtlib_isModuleActive($sourceModule)){
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $sourceModule));
-		}
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		return $permissions;
 	}
 
 	public function process(Vtiger_Request $request) {
diff --git a/modules/Settings/Potentials/views/MappingEdit.php b/modules/Settings/Potentials/views/MappingEdit.php
index 27bfb5168afb5831d433d401a73289c3be658297..121ef5be5dc56a0b7721602645de6f862f4ff386 100644
--- a/modules/Settings/Potentials/views/MappingEdit.php
+++ b/modules/Settings/Potentials/views/MappingEdit.php
@@ -10,6 +10,12 @@
 
 class Settings_Potentials_MappingEdit_View extends Settings_Vtiger_Index_View {
 
+    public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		return $permissions;
+	}
+    
 	public function process(Vtiger_Request $request) {
 		$qualifiedModuleName = $request->getModule(false);
 		$viewer = $this->getViewer($request);
diff --git a/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/actions/Promotion.php b/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/actions/Promotion.php
index d12daca4a4207c57780444038545030ab466861e..cebd03f56bb09fc3febce025fbfdfc527e6e302b 100644
--- a/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/actions/Promotion.php
+++ b/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/actions/Promotion.php
@@ -15,6 +15,10 @@ class ExtensionStore_Promotion_Action extends Vtiger_Index_View {
 		$this->exposeMethod('maxCreatedOn');
 	}
 
+    public function requiresPermission(\Vtiger_Request $request) {
+		return array();
+	}
+    
 	public function process(Vtiger_Request $request) {
 		$mode = $request->getMode();
 		if (!empty($mode)) {
diff --git a/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/views/Listings.php b/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/views/Listings.php
index 1b362fa4fd6dbcbe289c0ef58d8ab91fab24e969..37dedbe711332125224c8b48c90d6835b7153c51 100644
--- a/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/views/Listings.php
+++ b/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/views/Listings.php
@@ -15,6 +15,10 @@ class ExtensionStore_Listings_View extends Vtiger_Index_View {
 		$this->exposeMethod('getPromotions');
 	}
 
+    public function requiresPermission(\Vtiger_Request $request) {
+		return array();
+	}
+    
 	public function getHeaderScripts(Vtiger_Request $request) {
 		$jsFileNames = array(
 			"libraries.jquery.boxslider.jqueryBxslider",