hotel_commerce/modules/blockcart/controllers/front/checkroomavailabilityajaxprocess.php
2023-06-26 13:09:26 +05:30

66 lines
2.7 KiB
PHP

<?php
class BlockcartCheckRoomAvailabilityAjaxProcessModuleFrontController extends ModuleFrontController
{
public function initContent()
{
$this->display_column_left = false;
$this->display_column_right = false;
$this->context = Context::getContext();
$dateFrom = Tools::getValue('date_from');
$dateTo = Tools::getValue('date_to');
$idProduct = Tools::getValue('id_product');
$idCart = $this->context->cart->id;
$idGuest = $this->context->cart->id_guest;
if (Module::isInstalled('hotelreservationsystem')) {
require_once (_PS_MODULE_DIR_.'hotelreservationsystem/define.php');
if (Tools::getValue('delete_room_form_cart')) {
$objBookingDetail = new HotelBookingDetail();
$numDays = $objBookingDetail->getNumberOfDays($dateFrom, $dateTo);
$objCartBooking = new HotelCartBookingData();
$objRoomType = new HotelRoomType();
$totalAvailRooms = 0;
if ($objCartBooking->deleteCartBookingData(
$idCart,
$idProduct,
0,
$dateFrom,
$dateTo
)) {
if ($roomTypeInfo = $objRoomType->getRoomTypeInfoByIdProduct($idProduct)) {
if ($idHotel = $roomTypeInfo['id_hotel']) {
$bookingParams = array(
'date_from' => $dateFrom,
'date_to' => $dateTo,
'hotel_id' => $idHotel,
'id_room_type' => $idProduct,
'only_search_data' => 1,
'id_cart' => $idCart,
'id_guest' => $idGuest,
);
if ($hotelRoomData = $objBookingDetail->dataForFrontSearch($bookingParams)) {
$totalAvailRooms = $hotelRoomData['stats']['num_avail'];
}
}
}
die(
json_encode(
array(
'status'=>'success',
'msg'=>'successfully cart product updated.',
'avail_rooms'=>$totalAvailRooms
)
)
);
}
die(
json_encode(
array('status'=>'failed', 'msg'=>'error while deleting room from cart booking table.')
)
);
}
}
}
}