From 25191983a2e2e7caef29c965a8143d9776b745b7 Mon Sep 17 00:00:00 2001
From: Prasad <prasad@vtiger.com>
Date: Sat, 13 Jul 2024 20:01:34 +0530
Subject: [PATCH] Fixed Events Save by restricting default value to create mode
 only

---
 modules/Events/actions/SaveAjax.php | 37 ++++++++++++++++-------------
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/modules/Events/actions/SaveAjax.php b/modules/Events/actions/SaveAjax.php
index 59e24882c..bba2b9116 100644
--- a/modules/Events/actions/SaveAjax.php
+++ b/modules/Events/actions/SaveAjax.php
@@ -160,24 +160,27 @@ class Events_SaveAjax_Action extends Events_Save_Action {
 			$this->setRecurrenceInfo($recordModel);
 		}
 
-		// Setting default values to save automatically with the record when it's saved from quick create.
-		$moduleName = $request->getModule();
-		$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
-		$fieldModelList = $moduleModel->getFields();
-		foreach ($fieldModelList as $fieldName => $fieldModel) {
-			
-			if ($request->has($fieldName)) {
-				$fieldValue = $request->get($fieldName, null);
-			} else {
-				$fieldValue = $fieldModel->getDefaultFieldValue();
-			}
-			$fieldValue = $this->purifyCkeditorField($fieldName, $fieldValue);
-			if ($fieldValue !== null) {
-				if (!is_array($fieldValue)) {
-					$fieldValue = trim($fieldValue);
+		// check for new/existing record.
+		if (!$recordModel->getId()) {
+			// Setting default values to save automatically with the record when it's saved from quick create.
+			$moduleName = $request->getModule();
+			$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
+			$fieldModelList = $moduleModel->getFields();
+			foreach ($fieldModelList as $fieldName => $fieldModel) {
+				
+				if ($request->has($fieldName)) {
+					$fieldValue = $request->get($fieldName, null);
+				} else {
+					$fieldValue = $fieldModel->getDefaultFieldValue();
+				}
+				$fieldValue = $this->purifyCkeditorField($fieldName, $fieldValue);
+				if ($fieldValue !== null) {
+					if (!is_array($fieldValue)) {
+						$fieldValue = trim($fieldValue);
+					}
+					$fieldValue = Vtiger_Util_Helper::validateFieldValue($fieldValue, $fieldModel);
+					$recordModel->set($fieldName, $fieldValue);
 				}
-				$fieldValue = Vtiger_Util_Helper::validateFieldValue($fieldValue, $fieldModel);
-				$recordModel->set($fieldName, $fieldValue);
 			}
 		}
 
-- 
GitLab