From aea379c1420ad198535f13574f2f647922b9d524 Mon Sep 17 00:00:00 2001 From: amit sharma Date: Tue, 29 Sep 2026 16:38:48 +0530 Subject: [PATCH 1/2] Fixed: Allow restoring the original service product price in the cart Co-authored-by: Name --- controllers/admin/AdminCartsController.php | 30 ++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/controllers/admin/AdminCartsController.php b/controllers/admin/AdminCartsController.php index f895ba5ed..940ba23b6 100644 --- a/controllers/admin/AdminCartsController.php +++ b/controllers/admin/AdminCartsController.php @@ -1717,21 +1717,22 @@ class AdminCartsControllerCore extends AdminController $idCartBooking ))) { $originalPrice = Product::getPriceStatic($idServiceProduct, false); + $specificPriceInfo = SpecificPrice::getSpecificPrice( + (int)$idServiceProduct, + 0, + $objCart->id_currency, + 0, + 0, + 1, + 0, + 0, + $objCart->id, + 0, + $objHotelCartBookingData->id + ); // if price is different than the original service price then update the price if ($canEdit && $operator == 'up' && $originalPrice != $unitPrice) { - if ($specificPriceInfo = SpecificPrice::getSpecificPrice( - (int)$idServiceProduct, - 0, - $objCart->id_currency, - 0, - 0, - 1, - 0, - 0, - $objCart->id, - 0, - $objHotelCartBookingData->id - )) { + if ($specificPriceInfo) { $objSpecificPrice = new SpecificPrice($specificPriceInfo['id_specific_price']); } else { $objSpecificPrice = new SpecificPrice(); @@ -1755,6 +1756,9 @@ class AdminCartsControllerCore extends AdminController $objSpecificPrice->to = '0000-00-00 00:00:00'; $result &= $objSpecificPrice->save(); + } elseif ($canEdit && $operator == 'up' && $specificPriceInfo) { + $objSpecificPrice = new SpecificPrice($specificPriceInfo['id_specific_price']); + $result &= $objSpecificPrice->delete(); } } } From 9e3fb0f4d04ddabd1424c5733734b89779b7fdf8 Mon Sep 17 00:00:00 2001 From: amit sharma Date: Tue, 6 Oct 2026 12:53:29 +0530 Subject: [PATCH 2/2] Fixed: review changes --- controllers/admin/AdminCartsController.php | 57 ++++++++++++---------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/controllers/admin/AdminCartsController.php b/controllers/admin/AdminCartsController.php index 940ba23b6..eaa8633a3 100644 --- a/controllers/admin/AdminCartsController.php +++ b/controllers/admin/AdminCartsController.php @@ -1731,35 +1731,38 @@ class AdminCartsControllerCore extends AdminController $objHotelCartBookingData->id ); // if price is different than the original service price then update the price - if ($canEdit && $operator == 'up' && $originalPrice != $unitPrice) { - if ($specificPriceInfo) { - $objSpecificPrice = new SpecificPrice($specificPriceInfo['id_specific_price']); - } else { - $objSpecificPrice = new SpecificPrice(); - } - $objSpecificPrice->id_shop = 0; - $objSpecificPrice->id_shop_group = 0; - $objSpecificPrice->id_cart = $objCart->id; - $objSpecificPrice->id_currency = $objCart->id_currency; - $objSpecificPrice->id_country = 0; - $objSpecificPrice->id_group = 0; - $objSpecificPrice->id_customer = 0; - $objSpecificPrice->id_product = $idServiceProduct; - $objSpecificPrice->id_product_attribute = 0; - $objSpecificPrice->price = $unitPrice; - $objSpecificPrice->from_quantity = 1; - $objSpecificPrice->reduction = 0; - $objSpecificPrice->id_htl_cart_booking = $objHotelCartBookingData->id; - $objSpecificPrice->reduction_type = 'amount'; - $objSpecificPrice->reduction_tax = 0; - $objSpecificPrice->from = '0000-00-00 00:00:00'; - $objSpecificPrice->to = '0000-00-00 00:00:00'; + if($canEdit && $operator == 'up'){ + if ($originalPrice != $unitPrice) { + if ($specificPriceInfo) { + $objSpecificPrice = new SpecificPrice($specificPriceInfo['id_specific_price']); + } else { + $objSpecificPrice = new SpecificPrice(); + } + $objSpecificPrice->id_shop = 0; + $objSpecificPrice->id_shop_group = 0; + $objSpecificPrice->id_cart = $objCart->id; + $objSpecificPrice->id_currency = $objCart->id_currency; + $objSpecificPrice->id_country = 0; + $objSpecificPrice->id_group = 0; + $objSpecificPrice->id_customer = 0; + $objSpecificPrice->id_product = $idServiceProduct; + $objSpecificPrice->id_product_attribute = 0; + $objSpecificPrice->price = $unitPrice; + $objSpecificPrice->from_quantity = 1; + $objSpecificPrice->reduction = 0; + $objSpecificPrice->id_htl_cart_booking = $objHotelCartBookingData->id; + $objSpecificPrice->reduction_type = 'amount'; + $objSpecificPrice->reduction_tax = 0; + $objSpecificPrice->from = '0000-00-00 00:00:00'; + $objSpecificPrice->to = '0000-00-00 00:00:00'; - $result &= $objSpecificPrice->save(); - } elseif ($canEdit && $operator == 'up' && $specificPriceInfo) { - $objSpecificPrice = new SpecificPrice($specificPriceInfo['id_specific_price']); - $result &= $objSpecificPrice->delete(); + $result &= $objSpecificPrice->save(); + } elseif ($specificPriceInfo) { + $objSpecificPrice = new SpecificPrice($specificPriceInfo['id_specific_price']); + $result &= $objSpecificPrice->delete(); + } } + } }