diff --git a/modules/Reports/actions/ChartActions.php b/modules/Reports/actions/ChartActions.php
index 8ec2140fb154802488a50feb917391cd121d0b66..7260d21a6d58b3039dc74a9809702e9fb241a671 100644
--- a/modules/Reports/actions/ChartActions.php
+++ b/modules/Reports/actions/ChartActions.php
@@ -16,14 +16,10 @@ class Reports_ChartActions_Action extends Vtiger_Action_Controller {
 		$this->exposeMethod('unpinChartFromDashboard');
 	}
 
-	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+	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/Reports/actions/CheckDuplicate.php b/modules/Reports/actions/CheckDuplicate.php
index eb28be78b2209cafa375a7c9b9d07ef0da8859f1..5858755c979fe20b693970d4ed5f6ba3bacc986b 100644
--- a/modules/Reports/actions/CheckDuplicate.php
+++ b/modules/Reports/actions/CheckDuplicate.php
@@ -10,8 +10,10 @@
 
 class Reports_CheckDuplicate_Action extends Vtiger_Action_Controller {
 
-	function checkPermission(Vtiger_Request $request) {
-		return;
+	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/Reports/actions/DeleteAjax.php b/modules/Reports/actions/DeleteAjax.php
index cb9eab3959f884031367827a3e069a2595bc612b..b1c5ab0b9529bc79092858598144cfb886c7e7cd 100644
--- a/modules/Reports/actions/DeleteAjax.php
+++ b/modules/Reports/actions/DeleteAjax.php
@@ -10,14 +10,11 @@
 
 class Reports_DeleteAjax_Action extends Vtiger_DeleteAjax_Action {
     
-	public 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'));
-		}
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'Delete', 'record_parameter' => 'record');
+		return $permissions;
 	}
 
 	public function process(Vtiger_Request $request) {
diff --git a/modules/Reports/actions/Folder.php b/modules/Reports/actions/Folder.php
index 2d34ed231a4395dc59a559300b2c00069c93638f..e39f179c3b3f981006a7fb450678a5b436f7156f 100644
--- a/modules/Reports/actions/Folder.php
+++ b/modules/Reports/actions/Folder.php
@@ -16,14 +16,10 @@ class Reports_Folder_Action extends Vtiger_Action_Controller {
 		$this->exposeMethod('delete');
 	}
 
-	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+	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/Reports/actions/MassDelete.php b/modules/Reports/actions/MassDelete.php
index eb9df6bb38b46614bbe8353d594b34e55e4bce1c..fd62b54db07cfd00002d84aeed038625b8fa3d96 100644
--- a/modules/Reports/actions/MassDelete.php
+++ b/modules/Reports/actions/MassDelete.php
@@ -10,14 +10,10 @@
 
 class Reports_MassDelete_Action extends Vtiger_Mass_Action {
 
-	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		return $permissions;
 	}
 
 	function preProcess(Vtiger_Request $request) {
diff --git a/modules/Reports/actions/MoveReports.php b/modules/Reports/actions/MoveReports.php
index d6f42c650e994f867167a2ee166796833be61f05..142a36025fd20abf1d93269d81980d4f0cc0490f 100644
--- a/modules/Reports/actions/MoveReports.php
+++ b/modules/Reports/actions/MoveReports.php
@@ -10,14 +10,10 @@
 
 class Reports_MoveReports_Action extends Vtiger_Mass_Action {
 
-	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+	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/Reports/actions/Save.php b/modules/Reports/actions/Save.php
index d1c09555f8694ce2094226d80a471d70f2302514..c2bb8b71fe7fd54c4f6bcf99c12a77f74fa8158b 100644
--- a/modules/Reports/actions/Save.php
+++ b/modules/Reports/actions/Save.php
@@ -10,6 +10,12 @@
 
 class Reports_Save_Action extends Vtiger_Save_Action {
 
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
+		return $permissions;
+	}
+	
 	public function checkPermission(Vtiger_Request $request) {
 		parent::checkPermission($request);
 
diff --git a/modules/Reports/views/ChartDetail.php b/modules/Reports/views/ChartDetail.php
index 9f46d862ddecda61e98b5cd2430295c625274a01..9c8398ce1a0a6322c8be56ed44643e1d4601d66c 100644
--- a/modules/Reports/views/ChartDetail.php
+++ b/modules/Reports/views/ChartDetail.php
@@ -10,10 +10,14 @@
 
 class Reports_ChartDetail_View extends Vtiger_Index_View {
 
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
+		return $permissions;
+	}
+	
 	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
+		parent::checkPermission($request);
 		$record = $request->get('record');
 		$reportModel = Reports_Record_Model::getCleanInstance($record);
 		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
@@ -25,9 +29,10 @@ class Reports_ChartDetail_View extends Vtiger_Index_View {
 		if(($currentUserPriviligesModel->id != $owner) && $sharingType == "Private"){
 			$isRecordShared = $reportModel->isRecordHasViewAccess($sharingType);
 		}
-		if(!$isRecordShared || !$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
+		if(!$isRecordShared) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
+		return true;
 	}
 
 	function preProcess(Vtiger_Request $request) {
diff --git a/modules/Reports/views/ChartEdit.php b/modules/Reports/views/ChartEdit.php
index 90bdd818ec833eb1cbb1ed382725d15ea510a89a..bd55cf25a68112fc52410f1d4f8da84ec1364ef5 100644
--- a/modules/Reports/views/ChartEdit.php
+++ b/modules/Reports/views/ChartEdit.php
@@ -16,15 +16,13 @@ Class Reports_ChartEdit_View extends Vtiger_Edit_View {
 		$this->exposeMethod('step3');
 	}
 
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
+		return $permissions;
+	}
+	
 	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if (!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
-
+		parent::checkPermission($request);
 		$record = $request->get('record');
 		if ($record) {
 			$reportModel = Reports_Record_Model::getCleanInstance($record);
@@ -32,6 +30,7 @@ Class Reports_ChartEdit_View extends Vtiger_Edit_View {
 				throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 			}
 		}
+		return true;
 	}
 
 	public function preProcess(Vtiger_Request $request) {
diff --git a/modules/Reports/views/ChartSaveAjax.php b/modules/Reports/views/ChartSaveAjax.php
index f4e31a235367ab65136cbe032c67026bea78a927..f99f572be549868103b3d18a074bc407bfb275c8 100644
--- a/modules/Reports/views/ChartSaveAjax.php
+++ b/modules/Reports/views/ChartSaveAjax.php
@@ -10,20 +10,9 @@
 
 class Reports_ChartSaveAjax_View extends Vtiger_IndexAjax_View {
 
-	public function checkPermission(Vtiger_Request $request) {
-		$record = $request->get('record');
-		if (!$record) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
-
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-		$reportModel = Reports_Record_Model::getCleanInstance($record);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if (!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
+		return $permissions;
 	}
 
 	public function process(Vtiger_Request $request) {
diff --git a/modules/Reports/views/Detail.php b/modules/Reports/views/Detail.php
index 686be3d5eafe33bbac83561dd6c924e1a69bd0d8..325c3fb4bde4a49563105a2696d934af20f2a90d 100644
--- a/modules/Reports/views/Detail.php
+++ b/modules/Reports/views/Detail.php
@@ -14,12 +14,15 @@ class Reports_Detail_View extends Vtiger_Index_View {
 	protected $calculationFields;
 	protected $count;
 
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
+		return $permissions;
+	}
+	
 	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
+		parent::checkPermission($request);
 		$record = $request->get('record');
-
 		$reportModel = Reports_Record_Model::getCleanInstance($record);
 		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
 
@@ -30,9 +33,10 @@ class Reports_Detail_View extends Vtiger_Index_View {
 		if(($currentUserPriviligesModel->id != $owner) && $sharingType == "Private"){
 			$isRecordShared = $reportModel->isRecordHasViewAccess($sharingType);
 		}
-		if(!$isRecordShared || !$currentUserPriviligesModel->hasModulePermission($moduleModel->getId()) ) {
+		if(!$isRecordShared) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
+		return true;
 	}
 
 	const REPORT_LIMIT = 500;
diff --git a/modules/Reports/views/Edit.php b/modules/Reports/views/Edit.php
index 7840dcf61bf196e048a3c8ba9bc37479124787d0..406e1955af8a3557a48cc04a1d4d469dfacd4a22 100644
--- a/modules/Reports/views/Edit.php
+++ b/modules/Reports/views/Edit.php
@@ -17,18 +17,19 @@ Class Reports_Edit_View extends Vtiger_Edit_View {
 		$this->exposeMethod('step3');
 	}
 
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
+		return $permissions;
+	}
+	
 	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if (!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+		parent::checkPermission($request);
 		$recordModel = Reports_Record_Model::getInstanceById($request->get('record'));
 		if(!$recordModel->isEditableBySharing()) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
+		return true;
 	}
 
 	public function preProcess(Vtiger_Request $request) {
diff --git a/modules/Reports/views/EditFolder.php b/modules/Reports/views/EditFolder.php
index 3faaa0ba0f2eec34a80e1e518033f4d818d5732b..bee02e360eb4dc4749aab4aba27dbbd04c8d32d4 100644
--- a/modules/Reports/views/EditFolder.php
+++ b/modules/Reports/views/EditFolder.php
@@ -10,16 +10,12 @@
 
 class Reports_EditFolder_View extends Vtiger_IndexAjax_View {
 
-	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+	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) {
 		
 		$viewer = $this->getViewer($request);
diff --git a/modules/Reports/views/ExportReport.php b/modules/Reports/views/ExportReport.php
index 7813c25b07a4151f55b9e2e7395150dd2a7f15bf..f9e1431ceae30a0c460c9bbd382978f9d96ac9e2 100644
--- a/modules/Reports/views/ExportReport.php
+++ b/modules/Reports/views/ExportReport.php
@@ -17,17 +17,10 @@ class Reports_ExportReport_View extends Vtiger_View_Controller {
 		$this->exposeMethod('GetCSV');
 	}
 
-	function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
-		$record = $request->get('record');
-		$reportModel = Reports_Record_Model::getCleanInstance($record);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
+		return $permissions;
 	}
 
 	function preProcess(Vtiger_Request $request) {
diff --git a/modules/Reports/views/List.php b/modules/Reports/views/List.php
index 2de1ab8c3705d139d1c1d5ba4be7e1b57854eb9c..644df3ea861a203aa1c6a1429163753580662b0a 100644
--- a/modules/Reports/views/List.php
+++ b/modules/Reports/views/List.php
@@ -14,14 +14,10 @@ class Reports_List_View extends Vtiger_Index_View {
 	protected $listViewEntries = false;
 	protected $listViewCount   = false;
 
-	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
+		return $permissions;
 	}
 
 
diff --git a/modules/Reports/views/MoveReports.php b/modules/Reports/views/MoveReports.php
index e60a9afe5b15a10033f7445f5f04b8da88e2b3db..2e5768314875058e11814f6ade374192f3d6b2b5 100644
--- a/modules/Reports/views/MoveReports.php
+++ b/modules/Reports/views/MoveReports.php
@@ -10,14 +10,10 @@
 
 class Reports_MoveReports_View extends Vtiger_Index_View {
 
-	public function checkPermission(Vtiger_Request $request) {
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+	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/Reports/views/SaveAjax.php b/modules/Reports/views/SaveAjax.php
index ea3bc1f180dda93fe8d803c4283be07c0c916a47..62efc0eb7bb5b92d9b2e9653208824222b39b5ea 100644
--- a/modules/Reports/views/SaveAjax.php
+++ b/modules/Reports/views/SaveAjax.php
@@ -10,22 +10,12 @@
 
 class Reports_SaveAjax_View extends Vtiger_IndexAjax_View {
 
-	public function checkPermission(Vtiger_Request $request) {
-		$record = $request->get('record');
-		if (!$record) {
-			throw new AppException('LBL_PERMISSION_DENIED');
-		}
-
-		$moduleName = $request->getModule();
-		$moduleModel = Reports_Module_Model::getInstance($moduleName);
-		$reportModel = Reports_Record_Model::getCleanInstance($record);
-
-		$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if (!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
-		}
+	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) {
 		$mode = $request->getMode();
 		$viewer = $this->getViewer($request);
diff --git a/modules/Vtiger/actions/Delete.php b/modules/Vtiger/actions/Delete.php
index 783d004f492135ded2c4771ded9d9de0c6dab91c..b51e8d7f744dece8c0f32c5cb45c679dde76a0b7 100644
--- a/modules/Vtiger/actions/Delete.php
+++ b/modules/Vtiger/actions/Delete.php
@@ -22,7 +22,8 @@ class Vtiger_Delete_Action extends Vtiger_Action_Controller {
 
 		parent::checkPermission($request);
 
-		if ($record) {
+		$nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports');
+		if ($record && !in_array($moduleName, $nonEntityModules)) {
 			$recordEntityName = getSalesEntityType($record);
 			if ($recordEntityName !== $moduleName) {
 				throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
diff --git a/modules/Vtiger/actions/Save.php b/modules/Vtiger/actions/Save.php
index 583bb1561bc0050228cd9114140985f0874f7435..767f88edcf312fa0ea53ca48dc35ccbe564b0ff2 100644
--- a/modules/Vtiger/actions/Save.php
+++ b/modules/Vtiger/actions/Save.php
@@ -35,7 +35,7 @@ class Vtiger_Save_Action extends Vtiger_Action_Controller {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
-		$nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal');
+		$nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports');
 		if ($record && !in_array($moduleName, $nonEntityModules)) {
 			$recordEntityName = getSalesEntityType($record);
 			if ($recordEntityName !== $moduleName) {
diff --git a/modules/Vtiger/views/Edit.php b/modules/Vtiger/views/Edit.php
index e2766d33311ca172bb7bda521f0cb2933ec3fe76..e7246224fb4e8b397597bb8e23732e10e64aa91e 100644
--- a/modules/Vtiger/views/Edit.php
+++ b/modules/Vtiger/views/Edit.php
@@ -29,7 +29,7 @@ Class Vtiger_Edit_View extends Vtiger_Index_View {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
-		$nonEntityModules = array('Users', 'Events', 'Calendar');
+		$nonEntityModules = array('Users', 'Events', 'Calendar', 'Reports');
 		if ($record && !in_array($moduleName, $nonEntityModules)) {
 			$recordEntityName = getSalesEntityType($record);
 			if ($recordEntityName !== $moduleName) {