Skip to content

Commit

Permalink
Add constants for booking allotment types
Browse files Browse the repository at this point in the history
  • Loading branch information
Abhishek Kumar committed Mar 10, 2022
1 parent 4d11fc5 commit 67fdf9c
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 69 deletions.
23 changes: 12 additions & 11 deletions admin/themes/default/template/controllers/orders/_product_line.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -124,17 +124,18 @@
</td>
{/if}

{if $data.booking_type == 1}
<td class="text-center">
{if isset($data.refund_info) && ($data.refund_info.refunded || $data.refund_info.denied)}
<p class="text-center">--</p>
{else}
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#mySwappigModal" data-id_order="{$order->id}" data-room_num='{$data.room_num}' data-date_from='{$data.date_from}' data-date_to='{$data.date_to}' data-id_room='{$data.id_room}' data-cust_name='{$data.alloted_cust_name}' data-cust_email='{$data.alloted_cust_email}' data-avail_rm_swap='{$data.avail_rooms_to_swap|@json_encode}' data-avail_rm_realloc='{$data.avail_rooms_to_realloc|@json_encode}'>
{l s='Reallocate Room' mod='hotelreservationsystem'}
</button>
{/if}
</td>
{/if}
<td class="text-center">
{if $data.booking_type == HotelBookingDetail::ALLOTMENT_MANUAL && $data.comment|count_characters > 0}
<p><strong>{l s='Message: '}</strong> <span>{$data.comment|escape:'htmlall':'UTF-8'}</span></p>
{/if}
{if isset($data.refund_info) && ($data.refund_info.refunded || $data.refund_info.denied)}
<p class="text-center">--</p>
{else}
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#mySwappigModal" data-id_order="{$order->id}" data-room_num='{$data.room_num}' data-date_from='{$data.date_from}' data-date_to='{$data.date_to}' data-id_room='{$data.id_room}' data-cust_name='{$data.alloted_cust_name}' data-cust_email='{$data.alloted_cust_email}' data-avail_rm_swap='{$data.avail_rooms_to_swap|@json_encode}' data-avail_rm_realloc='{$data.avail_rooms_to_realloc|@json_encode}'>
{l s='Reallocate Room' mod='hotelreservationsystem'}
</button>
{/if}
</td>
{if ($can_edit && !$order->hasBeenDelivered())}
<td class="product_invoice" style="display: none;">
{if sizeof($invoices_collection)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -989,7 +989,7 @@
<th class="text-center"><span class="title_box">{l s='Refund State'}</span></th>
<th class="text-center"><span class="title_box">{l s='Refunded amount'}</span></th>
{/if}
<th class="text-center"><span class="title_box">{l s='Reallocate Room'}</span></th>
<th class="text-center fixed-width-xxl"><span class="title_box">{l s='Reallocate Room'}</span></th>
{if ($can_edit && !$order->hasBeenDelivered())}
<th class="text-center"><span class="title_box">{l s='Edit Order'}</th>
{/if}
Expand Down
20 changes: 20 additions & 0 deletions modules/hotelreservationsystem/classes/HotelBookingDetail.php
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ class HotelBookingDetail extends ObjectModel
const STATUS_CHECKED_IN = 2;
const STATUS_CHECKED_OUT = 3;

// booking allotment types
const ALLOTMENT_AUTO = 1;
const ALLOTMENT_MANUAL = 2;

public static $definition = array(
'table' => 'htl_booking_detail',
'primary' => 'id',
Expand Down Expand Up @@ -1832,6 +1836,22 @@ public static function getAllHotelOrderStatus()
return $pages;
}

public static function getAllAllotmentTypes()
{
$moduleInstance = Module::getInstanceByName('hotelreservationsystem');
$allotments = array(
array(
'id_allotment' => self::ALLOTMENT_AUTO,
'name' => $moduleInstance->l('Auto Allotment', 'hotelreservationsystem')
),
array(
'id_allotment' => self::ALLOTMENT_MANUAL,
'name' => $moduleInstance->l('Manual Allotment', 'hotelreservationsystem')
),
);
return $allotments;
}

// Webservice funcions
public function getWsBookingExtraDemands()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,8 @@ public function renderView()
$date_from = date("d-m-Y", strtotime($date_from));
$date_to = date("d-m-Y", strtotime($date_to));
$currency = new Currency((int)Configuration::get('PS_CURRENCY_DEFAULT'));
// booking allotment types
$allotmentTypes = HotelBookingDetail::getAllAllotmentTypes();
$this->tpl_view_vars = array(
'check_calender_var' => $check_calender_var,
'date_from' => $date_from,
Expand All @@ -281,6 +283,7 @@ public function renderView()
'hotel_name' => $hotel_name,
'all_room_type' => $all_room_type,
'currency' => $currency,
'allotment_types' => $allotmentTypes,
'rms_in_cart' => $rms_in_cart,
'formAction' => $formAction,
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,15 +218,13 @@
<td>{$date_from|escape:'htmlall':'UTF-8'|date_format:'%d-%m-%Y'} - {$date_to|escape:'htmlall':'UTF-8'|date_format:'%d-%m-%Y'}</td>
<td>{$avai_v['room_comment']|escape:'htmlall':'UTF-8'}</td>
<td>
<label class="control-label">
<input type="radio" value="1" name="bk_type_{$avai_v['id_room']|escape:'htmlall':'UTF-8'}" data-id-room="{$avai_v['id_room']|escape:'htmlall':'UTF-8'}" class="avai_bk_type" checked>
<span>{l s='Auto Allotment' mod='hotelreservationsystem'}</span>
</label>
<label class="control-label">
<input type="radio" value="2" name="bk_type_{$avai_v['id_room']|escape:'htmlall':'UTF-8'}" data-id-room="{$avai_v['id_room']|escape:'htmlall':'UTF-8'}" class="avai_bk_type">
<span>{l s='Manual Allotment' mod='hotelreservationsystem'}</span>
</label>
<input type="text" id="comment_{$avai_v['id_room']|escape:'htmlall':'UTF-8'}" class="form-control avai_comment">
{foreach $allotment_types as $allotment_type}
<label class="control-label">
<input type="radio" value="{$allotment_type.id_allotment|intval}" name="bk_type_{$avai_v['id_room']|escape:'htmlall':'UTF-8'}" data-id-room="{$avai_v['id_room']|escape:'htmlall':'UTF-8'}" class="avai_bk_type" {if $allotment_type@first}checked="checked"{/if}>
<span>{$allotment_type.name|escape:'htmlall':'UTF-8'}</span>
</label>
{/foreach}
<input type="text" id="comment_{$avai_v['id_room']|escape:'htmlall':'UTF-8'}" class="form-control avai_comment" placeholder="{l s='Allotment message' mod='hotelreservationsystem'}">
</td>
<td>
<button type="button" data-id-cart="" data-id-cart-book-data="" data-id-product="{$avai_v['id_product']|escape:'htmlall':'UTF-8'}" data-id-room="{$avai_v['id_room']|escape:'htmlall':'UTF-8'}" data-id-hotel="{$avai_v['id_hotel']}" data-date-from="{$date_from|escape:'htmlall':'UTF-8'|date_format:'%Y-%m-%d'}" data-date-to ="{$date_to|escape:'htmlall':'UTF-8'|date_format:'%Y-%m-%d'}" class="btn btn-primary avai_add_cart">{l s='Add To Cart' mod='hotelreservationsystem'}</button>
Expand All @@ -244,7 +242,7 @@
<tr>
<th><span class="title_box">{l s='Room No.' mod='hotelreservationsystem'}</span></th>
<th class="text-center"><span class="title_box">{l s='Duration' mod='hotelreservationsystem'}</span></th>
<th class="text-center"><span class="title_box">{l s='Allotment Type' mod='hotelreservationsystem'}</span></th>
<th class="text-left"><span class="title_box">{l s='Allotment Type' mod='hotelreservationsystem'}</span></th>
<th class="text-center"><span class="title_box">{l s='Action' mod='hotelreservationsystem'}</span></th>
</tr>
</thead>
Expand All @@ -259,16 +257,14 @@
<td class="text-center">
<p>{$sub_part_v['date_from']|escape:'htmlall':'UTF-8'|date_format:'%d-%m-%Y'} - {$sub_part_v['date_to']|escape:'htmlall':'UTF-8'|date_format:'%d-%m-%Y'}</p>
</td>
<td class="text-center">
<label class="control-label">
<input type="radio" value="1" class="par_bk_type" name="bk_type_{$part_v['id_room']|escape:'htmlall':'UTF-8'}_{$sub_part_k|escape:'htmlall':'UTF-8'}" data-id-room="{$part_v['id_room']|escape:'htmlall':'UTF-8'}" data-sub-key="{$sub_part_k|escape:'htmlall':'UTF-8'}" checked>
<span>{l s='Auto Allotment' mod='hotelreservationsystem'}</span>
</label>
<label class="control-label">
<input type="radio" value="2" class="par_bk_type" name="bk_type_{$part_v['id_room']|escape:'htmlall':'UTF-8'}_{$sub_part_k|escape:'htmlall':'UTF-8'}" data-id-room="{$part_v['id_room']|escape:'htmlall':'UTF-8'}" data-sub-key="{$sub_part_k|escape:'htmlall':'UTF-8'}">
<span>{l s='Manual Allotment' mod='hotelreservationsystem'}</span>
</label>
<input type="text" id="comment_{$part_v['id_room']|escape:'htmlall':'UTF-8'}_{$sub_part_k|escape:'htmlall':'UTF-8'}" class="form-control par_comment">
<td class="text-left">
{foreach $allotment_types as $allotment_type}
<label class="control-label">
<input type="radio" value="{$allotment_type.id_allotment|intval}" class="par_bk_type" name="bk_type_{$part_v['id_room']|escape:'htmlall':'UTF-8'}_{$sub_part_k|escape:'htmlall':'UTF-8'}" data-id-room="{$part_v['id_room']|escape:'htmlall':'UTF-8'}" data-sub-key="{$sub_part_k|escape:'htmlall':'UTF-8'}" {if $allotment_type@first}checked="checked"{/if}>
<span>{$allotment_type.name|escape:'htmlall':'UTF-8'}</span>
</label>
{/foreach}
<input type="text" id="comment_{$part_v['id_room']|escape:'htmlall':'UTF-8'}_{$sub_part_k|escape:'htmlall':'UTF-8'}" class="form-control par_comment" placeholder="{l s='Allotment message' mod='hotelreservationsystem'}">
</td>
<td class="text-center">
<button type="button" data-id-cart="" data-id-cart-book-data="" data-id-product="{$part_v['id_product']|escape:'htmlall':'UTF-8'}" data-id-room="{$part_v['id_room']|escape:'htmlall':'UTF-8'}" data-id-hotel="{$part_v['id_hotel']|escape:'htmlall':'UTF-8'}" data-date-from="{$sub_part_v['date_from']|escape:'htmlall':'UTF-8'|date_format:'%Y-%m-%d'}" data-date-to ="{$sub_part_v['date_to']|escape:'htmlall':'UTF-8'|date_format:'%Y-%m-%d'}" data-sub-key="{$sub_part_k|escape:'htmlall':'UTF-8'}" class="btn btn-primary par_add_cart">{l s='Add To Cart' mod='hotelreservationsystem'}</button>
Expand Down Expand Up @@ -306,10 +302,10 @@
<td class="col-xs-3">{$rm_dtl_v['date_from']|escape:'htmlall':'UTF-8'|date_format:'%d-%m-%Y'} - {$rm_dtl_v['date_to']|escape:'htmlall':'UTF-8'|date_format:'%d-%m-%Y'}</td>
<td class="col-xs-3">{$rm_dtl_v['comment']|escape:'htmlall':'UTF-8'}</td>
<td class="col-xs-3">
{if $rm_dtl_v['booking_type'] == 1}{l s='Auto Allotment' mod='hotelreservationsystem'}{elseif $rm_dtl_v['booking_type'] == 2}{l s='Manual Allotment' mod='hotelreservationsystem'}{/if}
{if $rm_dtl_v['booking_type'] == HotelBookingDetail::ALLOTMENT_AUTO}{l s='Auto Allotment' mod='hotelreservationsystem'}{elseif $rm_dtl_v['booking_type'] == HotelBookingDetail::ALLOTMENT_MANUAL}{l s='Manual Allotment' mod='hotelreservationsystem'}{/if}
</td>
<td>
{if $rm_dtl_v['booking_type'] == 1}
{if $rm_dtl_v['booking_type'] == HotelBookingDetail::ALLOTMENT_AUTO}
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#mySwappigModal" data-room_num={$booked_v['room_num']|escape:'htmlall':'UTF-8'} data-date_from={$rm_dtl_v['date_from']|escape:'htmlall':'UTF-8'} data-date_to={$rm_dtl_v['date_to']|escape:'htmlall':'UTF-8'} data-id_room={$booked_v['id_room']|escape:'htmlall':'UTF-8'} data-cust_name="{$rm_dtl_v['alloted_cust_name']|escape:'htmlall':'UTF-8'}" data-cust_email="{$rm_dtl_v['alloted_cust_email']|escape:'htmlall':'UTF-8'}" data-avail_rm_realloc={$rm_dtl_v['avail_rooms_to_realloc']|@json_encode} data-avail_rm_swap={$rm_dtl_v['avail_rooms_to_swap']|@json_encode}>
{l s='Reallocate Room' mod='hotelreservationsystem'}
</button>
Expand Down Expand Up @@ -421,12 +417,12 @@

<!-- Modal for reallocation of rooms -->
<div class="modal fade" id="mySwappigModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#reallocate_room_tab" aria-controls="reallocate" role="tab" data-toggle="tab">{l s='Room Reallocation' mod='hotelreservationsystem'}</a></li>
<li role="presentation"><a href="#swap_room_tab" aria-controls="swap" role="tab" data-toggle="tab">{l s='Swap Room' mod='hotelreservationsystem'}</a></li>
</ul>
<div class="modal-dialog" role="document">
<div class="modal-content">
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#reallocate_room_tab" aria-controls="reallocate" role="tab" data-toggle="tab">{l s='Room Reallocation' mod='hotelreservationsystem'}</a></li>
<li role="presentation"><a href="#swap_room_tab" aria-controls="swap" role="tab" data-toggle="tab">{l s='Swap Room' mod='hotelreservationsystem'}</a></li>
</ul>
<div class="tab-content panel active">
<div role="tabpanel" class="tab-pane active" id="reallocate_room_tab">
<form method="post" action="{$formAction|escape:'htmlall':'UTF-8'}">
Expand Down Expand Up @@ -543,39 +539,36 @@
{/if}
<script type="text/javascript">
$(document).ready(function()
{
$('.avai_comment, .par_comment').hide();
$(document).ready(function() {
var allotmentTypes = {
auto: {HotelBookingDetail::ALLOTMENT_AUTO},
manual: {HotelBookingDetail::ALLOTMENT_MANUAL},
};
$('.avai_bk_type').on('change', function()
{
var id_room = $(this).attr('data-id-room');
var booking_type = $(this).val();
$('.avai_comment, .par_comment').hide();
$('.avai_bk_type').on('change', function() {
var id_room = $(this).attr('data-id-room');
var booking_type = $(this).val();
if (booking_type == 1)
{
$('#comment_'+id_room).hide().val('');
}
else if (booking_type == 2)
$('#comment_'+id_room).show();
});
if (booking_type == allotmentTypes.auto) {
$('#comment_'+id_room).hide().val('');
} else if (booking_type == allotmentTypes.manual) {
$('#comment_'+id_room).show();
}
});
$('.par_bk_type').on('change', function()
{
var id_room = $(this).attr('data-id-room');
var sub_key = $(this).attr('data-sub-key');
var booking_type = $(this).val();
$('.par_bk_type').on('change', function() {
var id_room = $(this).attr('data-id-room');
var sub_key = $(this).attr('data-sub-key');
var booking_type = $(this).val();
if (booking_type == 1)
{
$('#comment_'+id_room+'_'+sub_key).hide().val('');
}
else if (booking_type == 2)
{
$('#comment_'+id_room+'_'+sub_key).show();
}
});
if (booking_type == allotmentTypes.auto) {
$('#comment_'+id_room+'_'+sub_key).hide().val('');
} else if (booking_type == allotmentTypes.manual) {
$('#comment_'+id_room+'_'+sub_key).show();
}
});
});
</script>

0 comments on commit 67fdf9c

Please sign in to comment.