diff --git a/include/events/VTEntityData.inc b/include/events/VTEntityData.inc
index d53c8f31a41643bc4a897f1fd780a592ed72aedc..7d2ac0b0c72186a2dd221ff5e6bcf412e4aad80b 100644
--- a/include/events/VTEntityData.inc
+++ b/include/events/VTEntityData.inc
@@ -112,7 +112,7 @@ class VTEntityData{
 	 * @return The entity id.
 	 */
 	function getId(){
-		return property_exists($this->focus, "id") ? $this->focus->id : null;
+		return is_object($this->focus) && property_exists($this->focus, "id") ? $this->focus->id : null;
 	}
 
 	/**
diff --git a/layouts/v7/modules/CustomView/EditView.tpl b/layouts/v7/modules/CustomView/EditView.tpl
index 8f96cd6e4a47895925a27d8c24c95a3a95e0d356..1dbdf7a4064cbded7a7d59652ad33ddf9c6f0604 100644
--- a/layouts/v7/modules/CustomView/EditView.tpl
+++ b/layouts/v7/modules/CustomView/EditView.tpl
@@ -84,6 +84,7 @@
 										</optgroup>
 									{/foreach}
 									{*Required to include event fields for columns in calendar module advanced filter*}
+									{if isset($EVENT_RECORD_STRUCTURE) && is_array($EVENT_RECORD_STRUCTURE)}
 									{foreach key=BLOCK_LABEL item=BLOCK_FIELDS from=$EVENT_RECORD_STRUCTURE}
 										<optgroup label='{vtranslate($BLOCK_LABEL, 'Events')}'>
 											{foreach key=FIELD_NAME item=FIELD_MODEL from=$BLOCK_FIELDS}
@@ -104,6 +105,7 @@
 											{/foreach}
 										</optgroup>
 									{/foreach}
+									{/if}
 								</select>
 								<input type="hidden" name="columnslist" value='{Vtiger_Functions::jsonEncode($SELECTED_FIELDS)}' />
 								<input id="mandatoryFieldsList" type="hidden" value='{Vtiger_Util_Helper::toSafeHTML(ZEND_JSON::encode($MANDATORY_FIELDS))}' />
diff --git a/layouts/v7/modules/Vtiger/AdvanceFilterCondition.tpl b/layouts/v7/modules/Vtiger/AdvanceFilterCondition.tpl
index 9d56077f1b84c20325ad47de70c24bc8884abc38..c47c9113cf6becce885b0ea5569b39286d284b7f 100644
--- a/layouts/v7/modules/Vtiger/AdvanceFilterCondition.tpl
+++ b/layouts/v7/modules/Vtiger/AdvanceFilterCondition.tpl
@@ -26,13 +26,15 @@
 						{assign var=columnNameApi value=getCustomViewColumnName}
 					{/if}
 					<option value="{$FIELD_MODEL->$columnNameApi()}" data-fieldtype="{$FIELD_MODEL->getFieldType()}" data-field-name="{$FIELD_NAME}"
-					{if decode_html($FIELD_MODEL->$columnNameApi()) eq decode_html($CONDITION_INFO['columnname'])}
+					{if isset($CONDITION_INFO['columnname']) && decode_html($FIELD_MODEL->$columnNameApi()) eq decode_html($CONDITION_INFO['columnname'])}
 						{assign var=FIELD_TYPE value=$FIELD_MODEL->getFieldType()}
 						{assign var=SELECTED_FIELD_MODEL value=$FIELD_MODEL}
 						{if $FIELD_MODEL->getFieldDataType() == 'reference'  ||  $FIELD_MODEL->getFieldDataType() == 'multireference'}
 							{$FIELD_TYPE='V'}
 						{/if}
+						{if isset($CONDITION_INFO['value'])}
 						{$FIELD_INFO['value'] = decode_html($CONDITION_INFO['value'])}
+						{/if}
 						selected="selected"
 					{/if}
 					{if ($MODULE_MODEL->get('name') eq 'Calendar' || $MODULE_MODEL->get('name') eq 'Events') && ($FIELD_NAME eq 'recurringtype')}
@@ -67,6 +69,7 @@
 				</optgroup>
 			{/foreach}
 			{* Required to display event fields also while adding conditions *}
+			{if isset($EVENT_RECORD_STRUCTURE) && is_array($EVENT_RECORD_STRUCTURE)}
             {foreach key=BLOCK_LABEL item=BLOCK_FIELDS from=$EVENT_RECORD_STRUCTURE}
 				<optgroup label='{vtranslate($BLOCK_LABEL, 'Events')}'>
 				{foreach key=FIELD_NAME item=FIELD_MODEL from=$BLOCK_FIELDS}
@@ -114,27 +117,30 @@
 				{/foreach}
 				</optgroup>
 			{/foreach}
+			{/if}
 		</select>
 	</div>
 	<div class="conditionComparator col-lg-3 col-md-3 col-sm-3">
 		<select class="{if empty($NOCHOSEN)}select2{/if} col-lg-12" name="comparator">
 			 <option value="none">{vtranslate('LBL_NONE',$MODULE)}</option>
-			{assign var=ADVANCE_FILTER_OPTIONS value=$ADVANCED_FILTER_OPTIONS_BY_TYPE[$FIELD_TYPE]}
-            {if $FIELD_TYPE eq 'D' || $FIELD_TYPE eq 'DT'}
-                {assign var=DATE_FILTER_CONDITIONS value=array_keys($DATE_FILTERS)}
-                {assign var=ADVANCE_FILTER_OPTIONS value=array_merge($ADVANCE_FILTER_OPTIONS,$DATE_FILTER_CONDITIONS)}
-            {/if}
-			{foreach item=ADVANCE_FILTER_OPTION from=$ADVANCE_FILTER_OPTIONS}
-				<option value="{$ADVANCE_FILTER_OPTION}"
-				{if $ADVANCE_FILTER_OPTION eq $CONDITION_INFO['comparator']}
-						selected
+			{if isset($FIELD_TYPE) && isset($ADVANCED_FILTER_OPTIONS_BY_TYPE[$FIELD_TYPE])}
+					{assign var=ADVANCE_FILTER_OPTIONS value=$ADVANCED_FILTER_OPTIONS_BY_TYPE[$FIELD_TYPE]}
+				{if $FIELD_TYPE eq 'D' || $FIELD_TYPE eq 'DT'}
+					{assign var=DATE_FILTER_CONDITIONS value=array_keys($DATE_FILTERS)}
+					{assign var=ADVANCE_FILTER_OPTIONS value=array_merge($ADVANCE_FILTER_OPTIONS,$DATE_FILTER_CONDITIONS)}
 				{/if}
-				>{vtranslate($ADVANCED_FILTER_OPTIONS[$ADVANCE_FILTER_OPTION])}</option>
-			{/foreach}
+				{foreach item=ADVANCE_FILTER_OPTION from=$ADVANCE_FILTER_OPTIONS}
+					<option value="{$ADVANCE_FILTER_OPTION}"
+					{if $ADVANCE_FILTER_OPTION eq $CONDITION_INFO['comparator']}
+							selected
+					{/if}
+					>{vtranslate($ADVANCED_FILTER_OPTIONS[$ADVANCE_FILTER_OPTION])}</option>
+				{/foreach}
+			{/if}
 		</select>
 	</div>
 	<div class="col-lg-4 col-md-4 col-sm-4  fieldUiHolder">
-		<input name="{if $SELECTED_FIELD_MODEL}{$SELECTED_FIELD_MODEL->get('name')}{/if}" data-value="value" class=" inputElement col-lg-12" type="text" value="{$CONDITION_INFO['value']|escape}" />
+		<input name="{if isset($SELECTED_FIELD_MODEL)}{$SELECTED_FIELD_MODEL->get('name')}{/if}" data-value="value" class=" inputElement col-lg-12" type="text" value="{if isset($CONDITION_INFO['value'])}{$CONDITION_INFO['value']|escape}{/if}" />
 	</div>
 	<span class="hide">
 		<!-- TODO : see if you need to respect CONDITION_INFO condition or / and  -->
diff --git a/layouts/v7/modules/Vtiger/Header.tpl b/layouts/v7/modules/Vtiger/Header.tpl
index cd72c18daa43c2b5a01c4e5733f99f1780c9e42b..070cfbf2b3afabd705f3499952998cc03cb77d13 100644
--- a/layouts/v7/modules/Vtiger/Header.tpl
+++ b/layouts/v7/modules/Vtiger/Header.tpl
@@ -31,8 +31,9 @@
         <link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/jquery/daterangepicker/daterangepicker.css")}'>
         
         <input type="hidden" id="inventoryModules" value={ZEND_JSON::encode($INVENTORY_MODULES)}>
-        
+        {if isset($SELECTED_MENU_CATEGORY)}
         {assign var=V7_THEME_PATH value=Vtiger_Theme::getv7AppStylePath($SELECTED_MENU_CATEGORY)}
+        {/if}
         {if strpos($V7_THEME_PATH,".less")!== false}
             <link type="text/css" rel="stylesheet/less" href="{vresource_url($V7_THEME_PATH)}" media="screen" />
         {else}
@@ -53,7 +54,7 @@
 		<script src="{vresource_url('layouts/v7/lib/jquery/jquery.min.js')}"></script>
 		<script src="{vresource_url('layouts/v7/lib/jquery/jquery-migrate-1.4.1.js')}"></script>
 		<script type="text/javascript">
-			var _META = { 'module': "{$MODULE}", view: "{$VIEW}", 'parent': "{$PARENT_MODULE}", 'notifier':"{$NOTIFIER_URL}", 'app':"{$SELECTED_MENU_CATEGORY}" };
+			var _META = { 'module': "{$MODULE}", view: "{$VIEW}", 'parent': "{$PARENT_MODULE}", 'notifier':"{$NOTIFIER_URL}", 'app':"{if isset($SELECTED_MENU_CATEGORY)} {$SELECTED_MENU_CATEGORY}{/if}" };
             {if $EXTENSION_MODULE}
                 var _EXTENSIONMETA = { 'module': "{$EXTENSION_MODULE}", view: "{$EXTENSION_VIEW}"};
             {/if}
diff --git a/modules/CustomView/CustomView.php b/modules/CustomView/CustomView.php
index d582d781b3be99c8989e6101a610aebbfefa5603..eca43b6b0933e391b8cbd13dc703bf900e7f96dc 100644
--- a/modules/CustomView/CustomView.php
+++ b/modules/CustomView/CustomView.php
@@ -1022,6 +1022,9 @@ class CustomView extends CRMEntity {
 						}
 						$advfilterval = implode(",", $val);
 					}
+					if(!is_array($criteria)) {
+						$criteria = [];
+					}
 					$criteria['value'] = $advfilterval;
 					$criteria['column_condition'] = $relcriteriarow["column_condition"];
 
diff --git a/modules/CustomView/models/Record.php b/modules/CustomView/models/Record.php
index d2999f367cbb68f4299648a2c335de923174da95..b1fc12ef9b4fe545b335f99d2ad8d93a5e56a3aa 100644
--- a/modules/CustomView/models/Record.php
+++ b/modules/CustomView/models/Record.php
@@ -356,7 +356,7 @@ class CustomView_Record_Model extends Vtiger_Base_Model {
 				if(empty($groupInfo)) continue;
 
 				$groupColumns = $groupInfo['columns'];
-				$groupCondition = $groupInfo['condition'];
+				$groupCondition = isset($groupInfo['condition']);
 
 				foreach($groupColumns as $columnIndex => $columnCondition) {
 					if(empty($columnCondition)) continue;
@@ -446,7 +446,7 @@ class CustomView_Record_Model extends Vtiger_Base_Model {
 					$advFilterList[$groupIndex]["conditionexpression"] = $groupConditionExpression;
 				}
 
-				$groupConditionExpression = $advFilterList[$groupIndex]["conditionexpression"];
+				$groupConditionExpression = isset($advFilterList[$groupIndex]["conditionexpression"]);
 				if(empty($groupConditionExpression)) continue; // Case when the group doesn't have any column criteria
 
 				$advGroupSql = 'INSERT INTO vtiger_cvadvfilter_grouping(groupid,cvid,group_condition,condition_expression) VALUES (?,?,?,?)';
diff --git a/modules/Vtiger/views/List.php b/modules/Vtiger/views/List.php
index 09045baa05965c32548680ee4ce40c2e626067fd..324d7daa5c53919481285db71058b7d1618d6b42 100644
--- a/modules/Vtiger/views/List.php
+++ b/modules/Vtiger/views/List.php
@@ -57,7 +57,7 @@ class Vtiger_List_View extends Vtiger_Index_View {
                 $this->listViewModel = Vtiger_ListView_Model::getInstance($moduleName, $cvId, $listHeaders);
 		$orderParams = $this->listViewModel->getSortParamsSession($listViewSessionKey);
 
-		if(empty($listHeaders) && is_array($orderParams)) {
+		if(empty($listHeaders) && is_array($orderParams) && array_key_exists('list_headers', $orderParams)) {
 			$listHeaders = $orderParams['list_headers'];
 		}
 
@@ -221,7 +221,7 @@ class Vtiger_List_View extends Vtiger_Index_View {
 			$orderBy = '';
 			$sortOrder = '';
 		}
-		if(empty($listHeaders) && is_array($orderParams)) {
+		if(empty($listHeaders) && is_array($orderParams) && array_key_exists('list_headers', $orderParams)) {
 			$listHeaders = $orderParams['list_headers'];
 		}
                 
@@ -232,21 +232,21 @@ class Vtiger_List_View extends Vtiger_Index_View {
                 
 		if(empty($orderBy) && empty($searchValue) && empty($pageNumber)) {
 			if($orderParams) {
-				$pageNumber = $orderParams['page'];
-				$orderBy = $orderParams['orderby'];
-				$sortOrder = $orderParams['sortorder'];
-				$searchKey = $orderParams['search_key'];
-				$searchValue = $orderParams['search_value'];
-				$operator = $orderParams['operator'];
+				$pageNumber = $orderParams['page'] ?? "";
+				$orderBy = $orderParams['orderby'] ?? "";
+				$sortOrder = $orderParams['sortorder'] ?? "";
+				$searchKey = $orderParams['search_key'] ?? "";
+				$searchValue = $orderParams['search_value'] ?? "";
+				$operator = $orderParams['operator'] ?? "";
                                 if(empty($tagParams)){
-					$tagParams = $orderParams['tag_params'];
+					$tagParams = $orderParams['tag_params'] ?? "";
 				}
 				if(empty($searchParams)) {
-					$searchParams = $orderParams['search_params']; 
+					$searchParams = $orderParams['search_params'] ?? ""; 
 				}
 
 				if(empty($starFilterMode)) {
-					$starFilterMode = $orderParams['star_filter_mode'];
+					$starFilterMode = $orderParams['star_filter_mode'] ?? "";
 				}
 			}
 		} else if($request->get('nolistcache') != 1) {
diff --git a/modules/com_vtiger_workflow/tasks/VTUpdateFieldsTask.inc b/modules/com_vtiger_workflow/tasks/VTUpdateFieldsTask.inc
index ca2acd6f96a63169d2b31967bab1a197cd6721a7..d873effa0ec7ee856b6805e85307d6b25773d133 100644
--- a/modules/com_vtiger_workflow/tasks/VTUpdateFieldsTask.inc
+++ b/modules/com_vtiger_workflow/tasks/VTUpdateFieldsTask.inc
@@ -10,6 +10,7 @@
 require_once('modules/com_vtiger_workflow/VTEntityCache.inc');
 require_once('modules/com_vtiger_workflow/VTWorkflowUtils.php');
 
+#[\AllowDynamicProperties]
 class VTUpdateFieldsTask extends VTTask {
 
 	public $executeImmediately = true;
diff --git a/pkg/vtiger/modules/Projects/Project/modules/Project/Project.php b/pkg/vtiger/modules/Projects/Project/modules/Project/Project.php
index cc9b421278824dae39a9b66cd7079c15d5a99614..1ffe087157e17e332de38696f8f1d72fd82bcfe8 100644
--- a/pkg/vtiger/modules/Projects/Project/modules/Project/Project.php
+++ b/pkg/vtiger/modules/Projects/Project/modules/Project/Project.php
@@ -637,6 +637,7 @@ class Project extends CRMEntity {
 	}
 	
 	function get_emails($recordId, $currentTabId, $relTabId, $actions=false) {
+		$button = '';
 		global $currentModule,$single_pane_view;
 		$relModuleName = vtlib_getModuleNameById($relTabId);
 		$singularRelModuleName = vtlib_tosingular($relModuleName);
@@ -693,6 +694,7 @@ class Project extends CRMEntity {
 	 * @return <Array> - $projectTasks
 	 */
 	public function getProjectTasks($recordId) {
+		$projectTasks = array();
 		$db = PearDatabase::getInstance();
 		$sql = "SELECT projecttaskid FROM vtiger_projecttask 
 				INNER JOIN vtiger_crmentity ON vtiger_projecttask.projecttaskid = vtiger_crmentity.crmid
diff --git a/pkg/vtiger/modules/Projects/ProjectTask/modules/ProjectTask/models/Module.php b/pkg/vtiger/modules/Projects/ProjectTask/modules/ProjectTask/models/Module.php
index b98677be541b6c67911814ba52cae8817f32833a..f9e84feca2ce3d369d25217868c6ef0196cce800 100644
--- a/pkg/vtiger/modules/Projects/ProjectTask/modules/ProjectTask/models/Module.php
+++ b/pkg/vtiger/modules/Projects/ProjectTask/modules/ProjectTask/models/Module.php
@@ -77,7 +77,7 @@ class ProjectTask_Module_Model extends Vtiger_Module_Model {
 			}
 		}
 		//ProjectTask Progress and Status should show in Projects summary view
-		if(!$relatedListFields['projecttaskstatus']) {
+		if (!isset($relatedListFields['projecttaskstatus']) || !$relatedListFields['projecttaskstatus']) {
 			$fieldModel = Vtiger_Field_Model::getInstance('projecttaskstatus', $this);
 			if($fieldModel && $fieldModel->isViewableInDetailView()) {
 				$relatedListFields['projecttaskstatus'] = 'projecttaskstatus';