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