From 4870f1f5cdebb5ae4ab14b6e9cbd36b1f0d39757 Mon Sep 17 00:00:00 2001
From: satish <satish.dvnk@vtiger.com>
Date: Tue, 7 Feb 2017 15:21:29 +0530
Subject: [PATCH] Allow configuration of default Calendar View

---
 modules/Migration/schema/660_to_700.php | 28 +++++++++++++++++++++++++
 modules/Vtiger/models/Relation.php      |  2 +-
 2 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/modules/Migration/schema/660_to_700.php b/modules/Migration/schema/660_to_700.php
index 8bc20ae3d..dacd0ae8a 100644
--- a/modules/Migration/schema/660_to_700.php
+++ b/modules/Migration/schema/660_to_700.php
@@ -75,6 +75,34 @@ if(defined('VTIGER_UPGRADE')) {
 		$db->pquery('UPDATE vtiger_users SET defaulteventstatus=? WHERE defaulteventstatus=? OR defaulteventstatus IS NULL', array('Planned', ''));
 	}
 
+	$moduleInstance = Vtiger_Module::getInstance('Users');
+	$blockInstance = Vtiger_Block::getInstance('LBL_CALENDAR_SETTINGS', $moduleInstance);
+	if ($blockInstance) {
+		$fieldInstance = Vtiger_Field::getInstance('defaultcalendarview', $moduleInstance);
+		if (!$fieldInstance) {
+			$fieldInstance				= new Vtiger_Field();
+			$fieldInstance->name		= 'defaultcalendarview';
+			$fieldInstance->label		= 'Default Calendar View';
+			$fieldInstance->table		= 'vtiger_users';
+			$fieldInstance->column		= 'defaultcalendarview';
+			$fieldInstance->uitype		= '16';
+			$fieldInstance->presence	= '0';
+			$fieldInstance->typeofdata	= 'V~O';
+			$fieldInstance->columntype	= 'VARCHAR(100)';
+			$fieldInstance->defaultvalue= 'MyCalendar';
+
+			$blockInstance->addField($fieldInstance);
+			$fieldInstance->setPicklistValues(array('ListView', 'MyCalendar', 'SharedCalendar'));
+			echo '<br>Default Calendar view field added <br>';
+		}
+	}
+
+	$allUsers = Users_Record_Model::getAll(true);
+	foreach ($allUsers as $userId => $userModel) {
+		$db->pquery('UPDATE vtiger_users SET defaultcalendarview=? WHERE id=?', array('MyCalendar', $userId));
+	}
+	echo 'Default calendar view updated for all active users <br>';
+
 	$fieldNamesList = array();
 	$updateQuery = 'UPDATE vtiger_field SET fieldlabel = CASE fieldname';
 	$result = $db->pquery('SELECT taxname, taxlabel FROM vtiger_inventorytaxinfo', array());
diff --git a/modules/Vtiger/models/Relation.php b/modules/Vtiger/models/Relation.php
index 80c819d82..8737765c9 100644
--- a/modules/Vtiger/models/Relation.php
+++ b/modules/Vtiger/models/Relation.php
@@ -120,7 +120,7 @@ class Vtiger_Relation_Model extends Vtiger_Base_Model{
 			$focus = CRMEntity::getInstance($relatedModuleName);
 			$query = $focus->$functionName($parentRecord->getId());
 		} else {
-			$query = $parentModuleModel->getRelationQuery($parentRecord->getId(), $functionName, $relatedModuleModel);
+			$query = $parentModuleModel->getRelationQuery($parentRecord->getId(), $functionName, $relatedModuleModel, $this->getId());
 		}
 
 		return $query;
-- 
GitLab