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