From 7e8e61d2e829c09737a88c8b267786f455853b84 Mon Sep 17 00:00:00 2001 From: prasad <prasad@vtiger.com> Date: Sun, 11 Feb 2018 20:25:17 +0530 Subject: [PATCH] Fixes #450: New picklist value added multiple times during Import --- .../modules/Import/modules/Import/actions/Data.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/vtiger/modules/Import/modules/Import/actions/Data.php b/pkg/vtiger/modules/Import/modules/Import/actions/Data.php index 088f1de87..437f9fe7a 100644 --- a/pkg/vtiger/modules/Import/modules/Import/actions/Data.php +++ b/pkg/vtiger/modules/Import/modules/Import/actions/Data.php @@ -637,9 +637,17 @@ class Import_Data_Action extends Vtiger_Action_Controller { if (!in_array($picklistValueInLowerCase, $allPicklistValuesInLowerCase) && !empty($picklistValueInLowerCase)) { if ($moduleName != 'Calendar') { + // Required to update runtime cache. + $wsFieldDetails = $fieldInstance->getPicklistDetails(); + $moduleObject = Vtiger_Module::getInstance($moduleName); $fieldObject = Vtiger_Field::getInstance($fieldName, $moduleObject); $fieldObject->setPicklistValues(array($fieldValue)); + + // Update cache state with new value added. + $wsFieldDetails[] = array('label' => $fieldValue, 'name' => $fieldValue); + Vtiger_Cache::getInstance()->setPicklistDetails($moduleObject->getId(), $fieldObject->getName(), $wsFieldDetails); + unset($this->allPicklistValues[$fieldName]); } } else { @@ -1160,4 +1168,4 @@ class Import_Data_Action extends Vtiger_Action_Controller { return $entityIdsList; } } -?> \ No newline at end of file +?> -- GitLab