From dcacc53ca185d988cac1266f61455f96dfd7e97b Mon Sep 17 00:00:00 2001
From: Uma <uma.s@vtiger.com>
Date: Fri, 4 Oct 2019 17:07:09 +0530
Subject: [PATCH] Fixes #1052 ::Uma::Non-empty value check on Ajax edit of
 status

---
 modules/Calendar/actions/Save.php | 34 +++++++++++++++++--------------
 1 file changed, 19 insertions(+), 15 deletions(-)

diff --git a/modules/Calendar/actions/Save.php b/modules/Calendar/actions/Save.php
index 6fc2b91e4..0074aa18d 100644
--- a/modules/Calendar/actions/Save.php
+++ b/modules/Calendar/actions/Save.php
@@ -164,25 +164,29 @@ class Calendar_Save_Action extends Vtiger_Save_Action {
 		}
 
 		//Start Date and Time values
-		$startTime = Vtiger_Time_UIType::getTimeValueWithSeconds($request->get('time_start'));
-		$startDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($request->get('date_start')." ".$startTime);
-		list($startDate, $startTime) = explode(' ', $startDateTime);
+        if($request->get('date_start') && $request->get('time_start')) {
+            $startTime = Vtiger_Time_UIType::getTimeValueWithSeconds($request->get('time_start'));
+            $startDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($request->get('date_start')." ".$startTime);
+            list($startDate, $startTime) = explode(' ', $startDateTime);
 
-		$recordModel->set('date_start', $startDate);
-		$recordModel->set('time_start', $startTime);
+            $recordModel->set('date_start', $startDate);
+            $recordModel->set('time_start', $startTime);
+        }
 
 		//End Date and Time values
-		$endTime = $request->get('time_end');
-		$endDate = Vtiger_Date_UIType::getDBInsertedValue($request->get('due_date'));
-
-		if ($endTime) {
-			$endTime = Vtiger_Time_UIType::getTimeValueWithSeconds($endTime);
-			$endDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($request->get('due_date')." ".$endTime);
-			list($endDate, $endTime) = explode(' ', $endDateTime);
-		}
+        if($request->get('due_date')) {
+            $endTime = $request->get('time_end');
+            $endDate = Vtiger_Date_UIType::getDBInsertedValue($request->get('due_date'));
+
+            if ($endTime) {
+                $endTime = Vtiger_Time_UIType::getTimeValueWithSeconds($endTime);
+                $endDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($request->get('due_date')." ".$endTime);
+                list($endDate, $endTime) = explode(' ', $endDateTime);
+            }
 
-		$recordModel->set('time_end', $endTime);
-		$recordModel->set('due_date', $endDate);
+            $recordModel->set('time_end', $endTime);
+            $recordModel->set('due_date', $endDate);
+        }
 
 		$activityType = $request->get('activitytype');
 		if(empty($activityType)) {
-- 
GitLab