diff --git a/modules/Settings/LayoutEditor/actions/Block.php b/modules/Settings/LayoutEditor/actions/Block.php
index e9235fe21a6f8db2f3745ed97f9a061c1c1c4398..ea3345a8ddb7d8bc25e890aed0fddaf27632e0c2 100644
--- a/modules/Settings/LayoutEditor/actions/Block.php
+++ b/modules/Settings/LayoutEditor/actions/Block.php
@@ -80,8 +80,8 @@ class Settings_LayoutEditor_Block_Action extends Settings_Vtiger_Index_Action {
         $response = new Vtiger_Response();
         $blockId = $request->get('blockid');
         $checkIfFieldsExists = Vtiger_Block_Model::checkFieldsExists($blockId);
-        if($checkIfFieldsExists) {
-            $response->setError('502','Fields exists for the block');
+        if(!$checkIfFieldsExists) {
+            $response->setError('502','Fields not exists for the block');
             $response->emit();
             return;
         }
@@ -95,7 +95,7 @@ class Settings_LayoutEditor_Block_Action extends Settings_Vtiger_Index_Action {
             $sourceModule = $blockInstance->get('module')->name;
             $blockLabel = $blockInstance->get('label');
             $blockInstance->delete(false);
-            Settings_LayoutEditor_Module_Model::removeLabelFromLangFile($sourceModule, $blockLabel);
+//            Settings_LayoutEditor_Module_Model::removeLabelFromLangFile($sourceModule, $blockLabel);
             $response->setResult(array('success'=>true));
         }catch(Exception $e) {
             $response->setError($e->getCode(),$e->getMessage());
diff --git a/modules/Settings/LayoutEditor/actions/Field.php b/modules/Settings/LayoutEditor/actions/Field.php
index a5dcaaf3a99d77f29e4b78fa60b4b82f1fbf4c35..7d6b1c5ce630863baf8ce44562e9a264b8a76c40 100644
--- a/modules/Settings/LayoutEditor/actions/Field.php
+++ b/modules/Settings/LayoutEditor/actions/Field.php
@@ -153,7 +153,7 @@ class Settings_LayoutEditor_Field_Action extends Settings_Vtiger_Index_Action {
             $fieldLabel = array_merge(array($fieldLabel),$pickListValues);
         }
         $fieldInstance->delete();
-        Settings_LayoutEditor_Module_Model::removeLabelFromLangFile($sourceModule, $fieldLabel);
+//        Settings_LayoutEditor_Module_Model::removeLabelFromLangFile($sourceModule, $fieldLabel);
         //we should delete any update field workflow associated with custom field
         $moduleName = $fieldInstance->getModule()->getName();
         Settings_Workflows_Record_Model::deleteUpadateFieldWorkflow($moduleName, $fieldInstance->getFieldName());
diff --git a/modules/Settings/Leads/views/MappingDetail.php b/modules/Settings/Leads/views/MappingDetail.php
index 77629b1a0af064385fca77981f3713196c2d1670..fa4e0d875d4695d4920378cd268761c713faf10a 100644
--- a/modules/Settings/Leads/views/MappingDetail.php
+++ b/modules/Settings/Leads/views/MappingDetail.php
@@ -10,12 +10,14 @@
 
 class Settings_Leads_MappingDetail_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;
+	}
+    
 	function checkPermission(Vtiger_Request $request) {
-		parent::checkPermission($request);
-		$sourceModule = 'Leads';
-		if(!vtlib_isModuleActive($sourceModule)){
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $sourceModule));
-		}
+		return parent::checkPermission($request);
 	}
 
 	public function process(Vtiger_Request $request) {
diff --git a/modules/Settings/Leads/views/MappingEdit.php b/modules/Settings/Leads/views/MappingEdit.php
index 1a40efe56dbdd42ee0b341e1b8480f918d6034c2..2a7fc890950d2f1db067e1dd78d79ea2fe472f7d 100644
--- a/modules/Settings/Leads/views/MappingEdit.php
+++ b/modules/Settings/Leads/views/MappingEdit.php
@@ -10,7 +10,17 @@
 
 class Settings_Leads_MappingEdit_View extends Settings_Vtiger_Index_View {
 
-	public function process(Vtiger_Request $request) {
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		return $permissions;
+	}
+    
+	function checkPermission(Vtiger_Request $request) {
+		return parent::checkPermission($request);
+	}
+    
+    public function process(Vtiger_Request $request) {
 		$qualifiedModuleName = $request->getModule(false);
 		$viewer = $this->getViewer($request);
 		
diff --git a/modules/Settings/Profiles/actions/Save.php b/modules/Settings/Profiles/actions/Save.php
index 2629c3df9558375d888119e7b46d6c9c16efdd6c..c5e99d771e82cdbe32bdfd6b00e5cdb585979d88 100644
--- a/modules/Settings/Profiles/actions/Save.php
+++ b/modules/Settings/Profiles/actions/Save.php
@@ -11,10 +11,12 @@
 class Settings_Profiles_Save_Action extends Vtiger_Action_Controller {
 	
 	public function checkPermission(Vtiger_Request $request) {
+        parent::checkPermission($request);
 		$currentUser = Users_Record_Model::getCurrentUserModel();
 		if(!$currentUser->isAdminUser()) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
+        return true;
 	}
 
 	public function process(Vtiger_Request $request) {
diff --git a/modules/Settings/Roles/actions/Save.php b/modules/Settings/Roles/actions/Save.php
index 20e6d9446a0b3a6f580d3d434b88ddc1e6e43219..62124df5dd03a3815b90262f311bfb90b1e17aa9 100644
--- a/modules/Settings/Roles/actions/Save.php
+++ b/modules/Settings/Roles/actions/Save.php
@@ -11,10 +11,12 @@
 class Settings_Roles_Save_Action extends Vtiger_Action_Controller {
 	
 	public function checkPermission(Vtiger_Request $request) {
+        parent::checkPermission($request);
 		$currentUser = Users_Record_Model::getCurrentUserModel();
 		if(!$currentUser->isAdminUser()) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
+        return true;
 	}
 
 	public function process(Vtiger_Request $request) {
diff --git a/modules/Settings/Roles/views/Popup.php b/modules/Settings/Roles/views/Popup.php
index 69c86d4269fc0ca30d8176a4c381ddd882816a34..8dd3f3cec10ce213e39e45d74dddea645aad9446 100644
--- a/modules/Settings/Roles/views/Popup.php
+++ b/modules/Settings/Roles/views/Popup.php
@@ -11,10 +11,12 @@
 class Settings_Roles_Popup_View extends Vtiger_Footer_View {
 	
 	public function checkPermission(Vtiger_Request $request) {
+        parent::checkPermission($request);
 		$currentUser = Users_Record_Model::getCurrentUserModel();
 		if(!$currentUser->isAdminUser()) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger'));
 		}
+        return true;
 	}
 
 	function process (Vtiger_Request $request) {
diff --git a/modules/Settings/Tags/views/EditAjax.php b/modules/Settings/Tags/views/EditAjax.php
index 92894059b7e1675699ec4a1210616f7afecc3872..436aaf9eb39c44fb86ca444c3a1d1ae49376b1da 100644
--- a/modules/Settings/Tags/views/EditAjax.php
+++ b/modules/Settings/Tags/views/EditAjax.php
@@ -10,10 +10,6 @@
 
 class Settings_Tags_EditAjax_View extends Settings_Vtiger_IndexAjax_View {
 
-	public function checkPermission(Vtiger_Request $request) {
-		return true;
-	}
-
 	public function process(Vtiger_Request $request) {
 		$viewer = $this->getViewer($request);
 		$qualifiedName = $request->getModule(false);
diff --git a/modules/Settings/Vtiger/views/Index.php b/modules/Settings/Vtiger/views/Index.php
index e95e8046f488db1b255ec605ce07e4a081ecf19e..013896bafcc475ccd03eecab2184ca6bbec72d9f 100644
--- a/modules/Settings/Vtiger/views/Index.php
+++ b/modules/Settings/Vtiger/views/Index.php
@@ -15,10 +15,12 @@ class Settings_Vtiger_Index_View extends Vtiger_Basic_View {
 	}
 
 	function checkPermission(Vtiger_Request $request) {
+        parent::checkPermission($request);
 		$currentUserModel = Users_Record_Model::getCurrentUserModel();
 		if(!$currentUserModel->isAdminUser()) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger'));
 		}
+        return true;
 	}
 
 	public function preProcess (Vtiger_Request $request, $display=true) {
diff --git a/modules/Settings/Workflows/actions/SaveWorkflow.php b/modules/Settings/Workflows/actions/SaveWorkflow.php
index 20e37414a35f87dac5f667bad5475c3886198c6c..6ac8eaa6a105bad9380442389606a3c2b2fb8515 100644
--- a/modules/Settings/Workflows/actions/SaveWorkflow.php
+++ b/modules/Settings/Workflows/actions/SaveWorkflow.php
@@ -10,10 +10,6 @@
 
 class Settings_Workflows_SaveWorkflow_Action extends Vtiger_Action_Controller {
 
-	public function checkPermission(Vtiger_Request $request) {
-		
-	}
-
 	public function process(Vtiger_Request $request) {
 		$recordId = $request->get('record');
 		$summary = $request->get('summary');
diff --git a/modules/Vtiger/views/ShowWidget.php b/modules/Vtiger/views/ShowWidget.php
index 79f0a0bfeca563b36e2a8407f6e748d685107662..5c5cfdf1dc7a9c0ba7a2c120893929b5cba36138 100644
--- a/modules/Vtiger/views/ShowWidget.php
+++ b/modules/Vtiger/views/ShowWidget.php
@@ -10,8 +10,16 @@
 
 class Vtiger_ShowWidget_View extends Vtiger_IndexAjax_View {
 
-	function checkPermission(Vtiger_Request $request) {
-		return true;
+	public function requiresPermission(Vtiger_Request $request){
+		$permissions = parent::requiresPermission($request);
+		if($request->get('module') != 'Dashboard'){
+			$request->set('custom_module', 'Dashboard');
+			$permissions[] = array('module_parameter' => 'custom_module', 'action' => 'DetailView');
+		}else{
+			$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		}
+		
+		return $permissions;
 	}
 
 	function process(Vtiger_Request $request) {
diff --git a/modules/Vtiger/views/TagCloudSearchAjax.php b/modules/Vtiger/views/TagCloudSearchAjax.php
index 3056ad150245f63a873e6c04874c72936f9bd889..3ed74b21d880947b52ebe5876a2631e69631e0ed 100644
--- a/modules/Vtiger/views/TagCloudSearchAjax.php
+++ b/modules/Vtiger/views/TagCloudSearchAjax.php
@@ -10,7 +10,18 @@
 
 class Vtiger_TagCloudSearchAjax_View extends Vtiger_IndexAjax_View {
 
-	function process(Vtiger_Request $request) {
+    public function requiresPermission(Vtiger_Request $request){
+        $permissions = parent::requiresPermission($request);
+        if($request->get('module') != 'Dashboard'){
+            $request->set('custom_module', 'Dashboard');
+            $permissions[] = array('module_parameter' => 'custom_module', 'action' => 'DetailView');
+        }
+
+        return $permissions;
+    }
+
+    
+    function process(Vtiger_Request $request) {
 		
 		$tagId = $request->get('tag_id');
 		$taggedRecords = Vtiger_Tag_Model::getTaggedRecords($tagId);