Przeglądaj źródła

cut of time added to llx_product

szollosil 1 rok temu
rodzic
commit
34785c40f9
1 zmienionych plików z 21 dodań i 1 usunięć
  1. 21 1
      custom/booking/class/api_booking.class.php

+ 21 - 1
custom/booking/class/api_booking.class.php

@@ -1213,6 +1213,7 @@ class BookingApi extends DolibarrApi
 		$date = new DateTime($date_to);
 		$date->modify('+1 day');
 		$date_to = $date->format('Y-m-d');
+		$date_from = $this->getCutOffTimeDate($product_id);
 		$sql = "SELECT 
 		ac.id, 
 		ac.datep, 
@@ -1225,7 +1226,7 @@ class BookingApi extends DolibarrApi
 		INNER JOIN llx_eventwizard_eventproduct as ep ON ep.fk_eventdetails = ac.fk_element
 		WHERE ac.code = 'AC_EVENT'
 		AND ep.fk_product = {$product_id}
-		AND ac.datep > '{$date_from} 00:00:00' 
+		AND ac.datep > '{$date_from}' 
 		AND ac.datep2 < '{$date_to} 00:00:00'
 		ORDER BY ac.datep ASC";
 		$result = $this->db->query($sql);
@@ -1248,6 +1249,25 @@ class BookingApi extends DolibarrApi
 		}
 		return $array;
 	}
+
+	private function getCutOffTimeDate($product_id)
+	{
+		$date = date("Y-m-d H:i:s");
+		ApiBbusLog::appLog("{$date}");
+		$sql = "SELECT cut_off_time_app FROM llx_product_extrafields WHERE fk_object = {$product_id}";
+		if ($result = $this->db->query($sql)) {
+			if ($this->db->num_rows($result) > 0) {
+				while ($row = $this->db->fetch_object($result)) {
+					$cutOffTime = $row->cut_off_time_app;
+				}
+				$dateTimestamp = strtotime($date);
+				$date = date("Y-m-d H:i:s", $dateTimestamp + $cutOffTime * 60);
+			}
+		}
+		ApiBbusLog::appLog("{$date}");
+		return $date;
+	}
+
 	private function noLocalEmptySpaces($event_id, $reservations)
 	{
 		$sql = "SELECT ace.max_num, ace.buffer, ace.participants FROM llx_actioncomm as ac