diff --git a/includes/runtime/Viewer.php b/includes/runtime/Viewer.php
index 32044100f30d01273d2b814386a9f4ad062cf3ab..39e0a6bc6da22fbe06c0d21da77f0c50f83836d6 100644
--- a/includes/runtime/Viewer.php
+++ b/includes/runtime/Viewer.php
@@ -78,7 +78,7 @@ class Vtiger_Viewer extends Smarty {
 			'Vtiger_Theme', 'Users_Record_Model', 'Vtiger_Module_Model', 'Vtiger_Field_Model', 'Vtiger_Record_Model',
 			'Settings_Picklist_Module_Model', 'CustomView_Record_Model', 'Vtiger_Extension_View',
 			'Vtiger_Tag_Model', 'Settings_Vtiger_Module_Model', 'PBXManager_Server_Model',
-			'Vtiger_Functions', 'Users', 'CurrencyField');
+			'Vtiger_Functions', 'Users', 'CurrencyField', 'Reports_Field_Model');
 		foreach ($classes as $clazz) {
 			if (class_exists($clazz)) {
 				$this->registerClass($clazz, $clazz);
diff --git a/layouts/v7/modules/Reports/ListViewContents.tpl b/layouts/v7/modules/Reports/ListViewContents.tpl
index 23443068d578a5e66924f10424e74b940ecebbcd..7446a5b86726367c0f13064f86fbfdf4bb8d602a 100644
--- a/layouts/v7/modules/Reports/ListViewContents.tpl
+++ b/layouts/v7/modules/Reports/ListViewContents.tpl
@@ -14,7 +14,7 @@
 			<span class="essentials-toggle-marker fa {if $LEFTPANELHIDE eq '1'}fa-chevron-right{else}fa-chevron-left{/if} cursorPointer"></span>
 		</div>
 		<input type="hidden" name="view" id="view" value="{$VIEW}" />
-		<input type="hidden" name="cvid" value="{$VIEWID}" />
+		<input type="hidden" name="cvid" value="{(isset($VIEWID)) ? $VIEWID : ''}" />
 		<input type="hidden" name="pageStartRange" id="pageStartRange" value="{$PAGING_MODEL->getRecordStartRange()}" />
 		<input type="hidden" name="pageEndRange" id="pageEndRange" value="{$PAGING_MODEL->getRecordEndRange()}" />
 		<input type="hidden" name="previousPageExist" id="previousPageExist" value="{$PAGING_MODEL->isPrevPageExists()}" />
@@ -25,11 +25,11 @@
 		<input type='hidden' name="pageLimit" value="{$PAGING_MODEL->getPageLimit()}" id='pageLimit'>
 		<input type="hidden" name="noOfEntries" value="{$LISTVIEW_ENTRIES_COUNT}" id="noOfEntries">
 		<input type="hidden" name="currentSearchParams" value="{Vtiger_Util_Helper::toSafeHTML(Zend_JSON::encode($SEARCH_DETAILS))}" id="currentSearchParams" />
-		<input type="hidden" name="noFilterCache" value="{$NO_SEARCH_PARAMS_CACHE}" id="noFilterCache" >
+		<input type="hidden" name="noFilterCache" value="{(isset($NO_SEARCH_PARAMS_CACHE)) ? $NO_SEARCH_PARAMS_CACHE : ''}" id="noFilterCache" >
 		<input type="hidden" name="orderBy" value="{$ORDER_BY}" id="orderBy">
 		<input type="hidden" name="sortOrder" value="{$SORT_ORDER}" id="sortOrder">
-		<input type="hidden" name="list_headers" value='{$LIST_HEADER_FIELDS}'/>
-		<input type="hidden" name="tag" value="{$CURRENT_TAG}" />
+		<input type="hidden" name="list_headers" value='{(isset($LIST_HEADER_FIELDS)) ? $LIST_HEADER_FIELDS : ''}'/>
+		<input type="hidden" name="tag" value="{(isset($CURRENT_TAG)) ? $CURRENT_TAG : ''}" />
 		<input type="hidden" name="folder_id" value="{$FOLDER_ID}" />
 		<input type="hidden" name="folder_value" value="{$FOLDER_VALUE}" />
 		<input type="hidden" name="folder" value="{$VIEWNAME}" />
@@ -88,13 +88,13 @@
 										{assign var="DATA_TYPE" value=$LISTVIEW_HEADER['type']}
 										{if $DATA_TYPE == 'string'}
 											<div class="row-fluid">
-												<input type="text" name="{$LISTVIEW_HEADER_KEY}" class="listSearchContributor inputElement" value="{$SEARCH_DETAILS[$LISTVIEW_HEADER_KEY]['searchValue']}" data-fieldinfo='{$FIELD_INFO|escape}'/>
+												<input type="text" name="{$LISTVIEW_HEADER_KEY}" class="listSearchContributor inputElement" value="{(isset($SEARCH_DETAILS[$LISTVIEW_HEADER_KEY]['searchValue'])) ? $SEARCH_DETAILS[$LISTVIEW_HEADER_KEY]['searchValue'] : ''}" data-fieldinfo='{if isset($FIELD_INFO)}{$FIELD_INFO|escape}{/if}'/>
 											</div>
 										{elseif $DATA_TYPE == 'picklist'}
 											{assign var=PICKLIST_VALUES value=Reports_Field_Model::getPicklistValueByField($LISTVIEW_HEADER_KEY)}
-											{assign var=SEARCH_VALUES value=explode(',',$SEARCH_DETAILS[$LISTVIEW_HEADER_KEY]['searchValue'])}
+											{assign var=SEARCH_VALUES value=explode(',',(isset($SEARCH_INFO['searchValue'])) ? $SEARCH_INFO['searchValue'] : ',')}
 											<div class="row-fluid">
-												<select class="select2 listSearchContributor report-type-select" name="{$LISTVIEW_HEADER_KEY}" multiple data-fieldinfo='{$FIELD_INFO|escape}'>
+												<select class="select2 listSearchContributor report-type-select" name="{$LISTVIEW_HEADER_KEY}" multiple data-fieldinfo='{if isset($FIELD_INFO)}{$FIELD_INFO|escape}{/if}'>
 													{foreach item=PICKLIST_LABEL key=PICKLIST_KEY from=$PICKLIST_VALUES}
 														{if $PICKLIST_LABEL eq 'Chart'}
 															{assign var="ICON_CLASS" value='fa fa-pie-chart'}
@@ -106,7 +106,7 @@
 												</select>
 											</div>
 										{/if}
-										<input type="hidden" class="operatorValue" value="{$SEARCH_DETAILS[$LISTVIEW_HEADER_KEY]['comparator']}">
+										<input type="hidden" class="operatorValue" value="{(isset($SEARCH_DETAILS[$LISTVIEW_HEADER_KEY]['comparator'])) ? $SEARCH_DETAILS[$LISTVIEW_HEADER_KEY]['comparator'] : ''}">
 									</th>
 								{/foreach}
 							</tr>
@@ -125,7 +125,7 @@
 									<td class="listViewEntryValue" data-name="{$LISTVIEW_HEADERNAME}" title="{$LISTVIEW_ENTRY_RAWVALUE}" data-rawvalue="{$LISTVIEW_ENTRY_RAWVALUE}" data-field-type="">
 										<span class="fieldValue">
 											<span class="value textOverflowEllipsis">
-												{if $LISTVIEW_HEADERNAME eq 'reporttype'}
+												{if isset($LISTVIEW_HEADERNAME) && $LISTVIEW_HEADERNAME eq 'reporttype'}
 													{if $LISTVIEW_ENTRY_VALUE eq 'summary' || $LISTVIEW_ENTRY_VALUE eq 'tabular'}
 														<center title="{vtranslate('LBL_DETAIL_REPORT', $MODULE)}"><span class='vicon-detailreport' style="font-size:17px;"></span></center>
 													{elseif $LISTVIEW_ENTRY_VALUE eq 'chart'}
@@ -152,7 +152,7 @@
 									<div class="emptyRecordsDiv">
 										<div class="emptyRecordsContent">
 											{assign var=SINGLE_MODULE value="SINGLE_$MODULE"}
-											{vtranslate('LBL_NO')} {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_FOUND')}.{if $IS_MODULE_EDITABLE} <a href="{$MODULE_MODEL->getCreateRecordUrl()}"> {vtranslate('LBL_CREATE')} </a> {if Users_Privileges_Model::isPermitted($MODULE, 'Import') && $LIST_VIEW_MODEL->isImportEnabled()} {vtranslate('LBL_OR', $MODULE)} <a style="color:blue" href="#" onclick="return Vtiger_Import_Js.triggerImportAction()"> {vtranslate('LBL_IMPORT', $MODULE)} </a>{vtranslate($MODULE, $MODULE)}{else}{vtranslate($SINGLE_MODULE, $MODULE)}{/if}{/if}
+											{vtranslate('LBL_NO')} {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_FOUND')}.{if isset($IS_MODULE_EDITABLE) && $IS_MODULE_EDITABLE} <a href="{$MODULE_MODEL->getCreateRecordUrl()}"> {vtranslate('LBL_CREATE')} </a> {if Users_Privileges_Model::isPermitted($MODULE, 'Import') && $LIST_VIEW_MODEL->isImportEnabled()} {vtranslate('LBL_OR', $MODULE)} <a style="color:blue" href="#" onclick="return Vtiger_Import_Js.triggerImportAction()"> {vtranslate('LBL_IMPORT', $MODULE)} </a>{vtranslate($MODULE, $MODULE)}{else}{vtranslate($SINGLE_MODULE, $MODULE)}{/if}{/if}
 										</div>
 									</div>
 								</td>
diff --git a/layouts/v7/modules/Reports/ModuleHeader.tpl b/layouts/v7/modules/Reports/ModuleHeader.tpl
index 2e5d57fec1199b5113c82d548770016156968e15..05f63e346a4e4dc363f6d2b2acd61b755b0952e5 100644
--- a/layouts/v7/modules/Reports/ModuleHeader.tpl
+++ b/layouts/v7/modules/Reports/ModuleHeader.tpl
@@ -48,7 +48,7 @@
 						{assign var=FOLDERNAME value=vtranslate('LBL_ALL_REPORTS', $MODULE)}
 					{/if}
 					<span>
-						<p class="current-filter-name filter-name pull-left"><span class="fa fa-angle-right" aria-hidden="true"></span>&nbsp;{$FOLDERNAME}&nbsp;</p>
+						<p class="current-filter-name filter-name pull-left"><span class="fa fa-angle-right" aria-hidden="true"></span>&nbsp;{if isset($FOLDERNAME)}{$FOLDERNAME}{else}''{/if}&nbsp;</p>
 					</span>
 				{/if}
 			</span>
@@ -71,8 +71,9 @@
 										{elseif $childLink->getLabel() eq 'LBL_DETAIL_REPORT'}
 											{assign var="ICON_CLASS" value='vicon-detailreport'}
 										{/if}
-										<li id="{$MODULE}_listView_basicAction_{Vtiger_Util_Helper::replaceSpaceWithUnderScores($childLink->getLabel())}" data-edition-disable="{$childLink->disabled}" data-edition-message="{$childLink->message}">
-											<a {if $childLink->disabled neq '1'} {if stripos($childLink->getUrl(), 'javascript:') === 0} onclick='{$childLink->getUrl()|substr:strlen("javascript:")};' {else} href='{$childLink->getUrl()}' {/if} {else} href="javascript:void(0);" {/if}><i class='{$ICON_CLASS}' style="font-size:13px;"></i>&nbsp; {vtranslate($childLink->getLabel(), $MODULE)}</a>
+										<li id="{$MODULE}_listView_basicAction_{Vtiger_Util_Helper::replaceSpaceWithUnderScores($childLink->getLabel())}" {if isset($childLink->disabled)} data-edition-disable="{$childLink->disabled}" {/if} 
+											{if isset($childLink->message)} data-edition-message="{$childLink->message}" {/if}>
+											<a {if isset($childLink->disabled) && $childLink->disabled neq '1'} {if stripos($childLink->getUrl(), 'javascript:') === 0} onclick='{$childLink->getUrl()|substr:strlen("javascript:")};' {else} href='{$childLink->getUrl()}' {/if} {else} href="javascript:void(0);" {/if}><i class='{$ICON_CLASS}' style="font-size:13px;"></i>&nbsp; {vtranslate($childLink->getLabel(), $MODULE)}</a>
 										</li>
 									{/foreach}
 								</ul>
diff --git a/modules/Reports/ReportRun.php b/modules/Reports/ReportRun.php
index ceabbd5a10d20fa21e77e0f2f36bf757028326b6..9b14f253114d470d1a231a0a253e6536658c17e4 100644
--- a/modules/Reports/ReportRun.php
+++ b/modules/Reports/ReportRun.php
@@ -3074,6 +3074,7 @@ class ReportRun extends CRMEntity {
 		global $mod_strings, $current_language;
 		require('user_privileges/user_privileges_' . $current_user->id . '.php');
 		$modules_selected = array();
+		static $mod_query_details = array();
 		$modules_selected[] = $this->primarymodule;
 		if (!empty($this->secondarymodule)) {
 			$sec_modules = explode(':', $this->secondarymodule);
@@ -3185,7 +3186,6 @@ class ReportRun extends CRMEntity {
 					$y = $adb->num_fields($result);
 					$custom_field_values = $adb->fetch_array($result);
 
-					static $mod_query_details = array();
 					foreach ($this->totallist as $key => $value) {
 						$fieldlist = explode(":", $key);
 						$key = $fieldlist[1] . '_' . $fieldlist[2];
@@ -3360,7 +3360,6 @@ class ReportRun extends CRMEntity {
 					$y = $adb->num_fields($result);
 					$custom_field_values = $adb->fetch_array($result);
 
-					static $mod_query_details = array();
 					foreach ($this->totallist as $key => $value) {
 						$fieldlist = explode(':', $key);
 						$key = $fieldlist[1].'_'.$fieldlist[2];
@@ -3577,7 +3576,6 @@ class ReportRun extends CRMEntity {
 					$y = $adb->num_fields($result);
 					$custom_field_values = $adb->fetch_array($result);
 
-					static $mod_query_details = array();
 					foreach ($this->totallist as $key => $value) {
 						$fieldlist = explode(':', $key);
 						$key = $fieldlist[1] . '_' . $fieldlist[2];
@@ -4029,7 +4027,6 @@ class ReportRun extends CRMEntity {
 					}
 					// END
 
-					static $mod_query_details = array();
 					foreach ($this->totallist as $key => $value) {
 						$fieldlist = explode(":", $key);
 						$detailsKey = implode('_', array($fieldlist[1], $fieldlist[2]));
diff --git a/modules/Reports/Reports.php b/modules/Reports/Reports.php
index ff44a351e434f99ede1af371bc66d749f3c9ef96..3bbc1d49c36682ecabf072c66deef07bd3c81e69 100644
--- a/modules/Reports/Reports.php
+++ b/modules/Reports/Reports.php
@@ -464,6 +464,8 @@ class Reports extends CRMEntity{
 		global $log;
 		global $mod_strings,$current_user;
 		$returndata = Array();
+		$current_user_parent_role_seq = '';
+		$is_admin = false;
 		
 		require_once('include/utils/UserInfoUtil.php');
 
diff --git a/modules/Reports/models/Field.php b/modules/Reports/models/Field.php
index c5e21c134df59f77c6048924c9074ff261c18e01..57f9a7e6e7a010dd39a5195e6daeddf98a6266db 100644
--- a/modules/Reports/models/Field.php
+++ b/modules/Reports/models/Field.php
@@ -11,7 +11,7 @@
 class Reports_Field_Model extends Vtiger_Field_Model {
 
 	static function getPicklistValueByField($fieldName) {
-		$picklistValues = false;
+		$picklistValues = array();
 		if ($fieldName == 'reporttype') {
 			$picklistValues = array(
 				'tabular'	=> vtranslate('tabular', 'Reports'),
diff --git a/modules/Reports/views/List.php b/modules/Reports/views/List.php
index 9d4a01e02d16cc21c1f93e20f3ac5956b6b621fc..68587d8d6b7ad82badc4e38893496cf9fe326b74 100644
--- a/modules/Reports/views/List.php
+++ b/modules/Reports/views/List.php
@@ -120,7 +120,7 @@ class Reports_List_View extends Vtiger_Index_View {
 		$orderBy = $request->get('orderby');
 		$sortOrder = $request->get('sortorder');
 		$searchParams = $request->get('search_params');
-		$searchParams = $searchParams[0];
+		$searchParams = isset($searchParams[0]) ? $searchParams[0] : '';
 
 		$orderParams = Vtiger_ListView_Model::getSortParamsSession($moduleName.'_'.$folderId);
 		if($request->get('mode') == 'removeSorting') {
@@ -170,7 +170,7 @@ class Reports_List_View extends Vtiger_Index_View {
 
 		$viewer->assign('MODULE', $moduleName);
 		  // preProcess is already loading this, we can reuse
-		if(!$this->pagingModel){
+		if(!property_exists($this, 'pagingModel') || !$this->pagingModel){
 			$pagingModel = new Vtiger_Paging_Model();
 			$pagingModel->set('page', $pageNumber);
 		} else{
@@ -203,7 +203,7 @@ class Reports_List_View extends Vtiger_Index_View {
 		$viewer->assign('SEARCH_DETAILS', array());
 		$viewer->assign('LISTVIEW_MODEL',$listViewModel);
 		$viewer->assign('PAGING_MODEL', $pagingModel);
-		if(!$this->pagingModel){
+		if(!property_exists($this, 'pagingModel') || !$this->pagingModel){
 			$this->pagingModel = $pagingModel;
 		}