Skip to content

Commit

Permalink
Merge pull request #103 from rohit053/v1.5.x
Browse files Browse the repository at this point in the history
V1.5.0 released: API, Refund procress improvement, Order data management
  • Loading branch information
rohit053 committed Sep 14, 2020
2 parents 0946ab9 + 5df6e82 commit 3e3dc9f
Show file tree
Hide file tree
Showing 1,143 changed files with 13,488 additions and 32,445 deletions.
84 changes: 84 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,87 @@
####################################
# V1.5.0
####################################

## Added Features:

[+] CO : QloApps APIs are created (Prestashop APIs are modified as per hotel QloApps changes)
[+] CO : `is_advance_payment` column is added in the 'cart' table.
[+] CO : `is_advance_payment`, `advance_paid_amount` columns are added in the 'orders' table.
[+] CO : `id_transaction`, `payment_mode`, `refunded_amount`, `by_admin` columns are added in the 'order_return' table.
[+] CO : `id_order_return_detail`, `id_htl_booking`, `refunded_amount` columns are added in the 'order_return_detail' table.
[+] CO : `send_email_to_customer`, `send_email_to_superadmin`, `send_email_to_employee`, `send_email_to_hotelier`, denied`, `refunded`, `module_name` columns are added in the 'order_return_state' table.
[+] CO : `customer_template`, `admin_template` columns are added in the 'order_return_state_lang' table.
[+] CO : `id_htl_booking` column is added in the 'order_slip_detail' table.
[+] CO : Refund emails will be sent to the customer as per return state setting
[+] CO : All images link are now generated dynamically

[+] FO : Room type refund policies in the policies tab is shown in the room type details page.
[+] FO : A controller will be there for the customer which will show his refund requests info

[+] BO : Admin can enable/disable refund for the hotel
[+] BO : Refund Process:: Order return statuses improved for order refund statuses.
[+] BO : Admin can select rules for the hotel [checkboxes]
[+] BO : Admin can initiate refund if refund is enable for the system
[+] BO : Admin can select which state is considered as refunded complete in the return state.
[+] BO : Admin can select which state is considered as refunded denied in the return state.
[+] BO : Admin can select whcih email will be sent to customer and admin for the return state.

[+] BO : Feature Price Rule: Groups wise Condition in feature price rules is added.
[+] BO : Global refund policies cms page can be selected from refund rules controller.
[+] BO : Refund can be enabled/disabled globally from refund rules controller.
[+] BO : Payment mode and transaction id can be saved for the refund.
[+] BO : Voucher slip can be generated for refund.
[+] BO : Credit slip can be generated for refund.
[+] BO : Additional facilities can be edited at the time of order editing.
[+] BO : Room type features images are used as jpg images in place of png images.


## Improved/changed features:

[*] BO : Refund Process:: Order return statuses improved for order refund statuses.
[*] BO : In Additional Facilities list no price will be shown if facility have advance options.
[*] BO : Admin will be able to select a checkout date while changing status of the room from order details page.
[*] BO : Hotel category will be selected Default room type category.
[*] BO : In Room type renderlist hotel(instead of category), city, number rooms, adults, Childs columns added.
[*] BO : Merchandise Return tab is removed.
[*] BO : Room type ids now start room type id from 1 in room type render list.
[*] BO : Prestashop warning pop up will nt be shown during module installation for Webkul modules.
[*] BO : Updated addons link from store to addon's page
[*] BO : Added recomended image size for room type images for appropriate view on front end.

[*] FO : Calendar Design is improved of date from and date to in QloApps.
[*] FO : 'Proceed' button during checkout will be disabled in case of errors while checkout.
[*] FO : Search panel is improved on all pages.
[*] FO : Cart warning text changed
[*] FO : Refund request proocess is improved for the customer. Designed is also improved.

[*] CO : paypal adaptive module (by webkul) Removed completely from qloapps
[*] CO : All the irrelevant data creation from the installation process is removed Which is not related to Qloapps but Prestashop. e.g carriers, stores, suppliers, manufacturers...... etc. Order data will not be populated now.

[*] CO : For refund request "order_return" and "order_return_detail" tables are used.
[*] CO : For order refund states "order_return_states" table is used.


## Bug/Issues Resolved:

[-] BO : FIXED : Room does not free even after room status set to checkout.
[-] BO : FIXED : Room does not free while order status is changed to Refunded, Cancelled or Payment Error.
[-] BO : FIXED : Additional facilities price id not managed while deleting a booking from admin order details page.

[-] FO : FIXED: when using advance payment option, discount voucher (amount) get applied to advance payment amount along with total order cost
[-] FO : FIXED : If all rows are disabled then also blocks (Interior, Rooms, Features, Testimonials) are visible on home page.
[-] FO : FIXED : Zip code error while making the guest check.
[-] FO : FIXED : Issue while creating a customer/guest from checkout page on firefox browser.
[-] FO : FIXED : Check-out date same as check-in date when current data is more than max order date for hotel
[-] FO : FIXED : customer able to process booking for inactive rooms
[-] FO : FIXED : Image strech issue on product page.
[-] FO : FIXED : Cart page not update when delete from from cart dropdown
[-] FO : FIXED : While making the guest check out the system shows zip code error in some countries.

[-] CO : FIXED : Fatal error: Uncaught exception 'ImagickException' while creating invoice.
[-] CO : FIXED : warning while creating invoice (total demands variable issue)


####################################
# V1.4.1
####################################
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@
<dd>{l s="Connect with the Qloapps community"}</dd>
</dl>
<dl>
<dt><a href="https://store.webkul.com/Qloapps.html" class="_blank">{l s="Qloapps Addons"}</a></dt>
<dt><a href="https://qloapps.com/addons/" class="_blank">{l s="Qloapps Addons"}</a></dt>
<dd>{l s="Enhance your store Qloapps modules"}</dd>
</dl>
<dl>
Expand Down
2 changes: 1 addition & 1 deletion admin/themes/default/template/controllers/modules/page.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
*}
<div class="alert bg-info">
<div class="row modules-addons-info">
<h4>{l s='Explore all addon of Qloapps '}<a class="btn btn-default _blank" href="https://store.webkul.com/Qloapps.html"> @{l s='Qloapps addons'}</a></h4>
<h4>{l s='Explore all addon of Qloapps '}<a class="btn btn-default _blank" href="https://qloapps.com/addons/"> @{l s='Qloapps addons'}</a></h4>
</div>
</div>
{$kpis}
Expand Down
62 changes: 29 additions & 33 deletions admin/themes/default/template/controllers/orders/_product_line.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@
*}

<tr class="product-line-row" data-id_room="{$data.id_room}" data-id_product="{$data.id_product}" data-id_hotel="{$data.id_hotel}" data-date_from="{$data.date_from}" data-date_to="{$data.date_to}" data-product_price="{$data.unit_amt_tax_incl}" data-order_detail_id="{$data.id_order_detail}">
{if $refund_allowed}
<td class="standard_refund_fields" style="display:none">
<input type="checkbox" name="id_htl_booking[]" value="{$data.id|escape:'html':'UTF-8'}" {if isset($refundReqBookings) && ($data.id|in_array:$refundReqBookings)}disabled{/if}/>
</td>
{/if}
<td class="text-center">
{$data.room_num}
</td>
Expand All @@ -32,12 +37,12 @@
</td>
<td class="text-center">
<p>{$data.room_type}</p>
<p class="room_extra_demands {if !isset($data['extra_demands']) || !$data['extra_demands']}edit_product_fields{/if}" {if !isset($data['extra_demands']) || !$data['extra_demands']}style="display: none;"{/if}>
<a href="#" data-toggle="modal" data-target="#rooms_type_extra_demands" date_from="{$data['date_from']}" date_to="{$data['date_to']}" id_product="{$data['id_product']}" id_room="{$data['id_room']}" id_order="{$order->id}" class="open_room_extra_demands" id_htl_booking="{$data['id']}" edit_orde_line="0">
{l s='Additional Features'}
</a>
</p>
{if isset($data['extra_demands']) && $data['extra_demands']}
<p class="room_extra_demands">
<a href="#" data-toggle="modal" data-target="#rooms_type_extra_demands" date_from="{$data['date_from']}" date_to="{$data['date_to']}" id_product="{$data['id_product']}" id_room="{$data['id_room']}" id_order="{$order->id}" class="open_room_extra_demands">
{l s='Additional Features'}
</a>
</p>
<p>
{convertPriceWithCurrency price=$data['extra_demands_price_ti'] currency=$currency->id}
</p>
Expand Down Expand Up @@ -106,38 +111,29 @@
</div>
{/if}
</td>

<td class="text-center stage_name">
<p>
{if isset($data['stage_name']) && $data['stage_name']}
{$data['stage_name']}
{else}
--
{if isset($refundReqBookings) && $refundReqBookings}
<td class="text-center">
{if isset($data.refund_info) && $data.refund_info}
<span class="badge" style="background-color:{$data.refund_info.color|escape:'html':'UTF-8'}">{$data.refund_info.name|escape:'html':'UTF-8'}</span>
{/if}
</p>
</td>
<td class="text-center status_name">
<p>
{if $data['stage_name'] == 'Refunded' || $data['stage_name'] == 'Rejected'}
{l s="Done!"}
{else if $data['stage_name'] == 'Waiting' || $data['stage_name'] == 'Accepted'}
{l s="Pending..."}
{else}
--
</td>
<td class="text-center">
{if isset($data.refund_info) && $data.refund_info}
{convertPriceWithCurrency price=$data.refund_info.refunded_amount currency=$currency->id}
{/if}
</p>
</td>
</td>
{/if}

{if $data.booking_type == 1}
<td class="text-center">
{if $data['stage_name'] == 'Refunded' || $data['stage_name'] == 'Rejected'}
<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>
<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}
{if ($can_edit && !$order->hasBeenDelivered())}
<td class="product_invoice" style="display: none;">
Expand Down
136 changes: 120 additions & 16 deletions admin/themes/default/template/controllers/orders/_room_extra_demands.tpl
Original file line number Diff line number Diff line change
@@ -1,19 +1,123 @@
{if isset($extraDemands) && $extraDemands}
{foreach $extraDemands as $roomDemand}
<div class="row">
<div class="col-sm-12 demand_header">
<i class="icon icon-tasks"></i> {l s='Room\'s Extra Demands'}
<div class="modal-header">
<h3 class="modal-title"><i class="icon-tasks"></i> {l s='Additional Facilities'} {if isset($orderEdit) && $orderEdit}<span class="badge badge-success demand_edit_badge">{l s='edit'}</span>{/if} <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
</h3>
</div>
<div class="modal-body" id="rooms_extra_demands">
<div id="room_type_demands_desc" class="row">
<input type="hidden" value="0" id="id_htl_booking">
{if isset($orderEdit) && $orderEdit}
<p class="col-sm-12 facility_nav_btn">
<button id="btn_new_room_facility" class="btn btn-success"><i class="icon-plus"></i> {l s='Add new facility'}</button>
<button id="back_to_facilities_btn" class="btn btn-default"><i class="icon-arrow-left"></i> {l s='Back'}</button>
</p>

{* Already selected room demands *}
<div class="col-sm-12 room_ordered_demands table-responsive">
<table class="table">
<tbody>
{if isset($extraDemands) && $extraDemands}
{foreach $extraDemands as $roomDemand}
{foreach $roomDemand['extra_demands'] as $demand}
<tr>
<td>{$demand['name']}</td>
<td>{displayPrice price=$demand['total_price_tax_incl'] currency=$orderCurrency}</td>
<td><a class="btn btn-danger pull-right del-order-room-demand" href="#" id_booking_demand="{$demand['id_booking_demand']}"><i class="icon-trash"></i></a></td>
</tr>
{/foreach}
{/foreach}
{else}
<tr>
<td colspan="3">
<i class="icon-warning"></i> {l s='No additional facilities added yet.'}
</td>
</tr>
{/if}
</tbody>
</table>
</div>
<div>
<div class="col-sm-12 demand_detail">
{foreach $roomDemand['extra_demands'] as $demand}
<p>
<span>{$demand['name']}</span>
<span class="pull-right">{displayPrice price=$demand['total_price_tax_incl'] currency=$orderCurrency}</span>
</p>
{/foreach}

{* Room demands available for the current editing room*}
<div class="col-sm-12 room_demands_container">
<div class="room_demand_detail">
{if isset($roomTypeDemands) && $roomTypeDemands}
{foreach $roomTypeDemands as $idGlobalDemand => $demand}
<div class="row room_demand_block">
<div class="col-xs-6">
<div class="row">
<div class="col-xs-2">
<input id_cart_booking="{$roomDemand['id']}" value="{$idGlobalDemand|escape:'html':'UTF-8'}" type="checkbox" class="id_room_type_demand" {if isset($roomDemand['selected_global_demands']) && $roomDemand['selected_global_demands'] && ($idGlobalDemand|in_array:$roomDemand['selected_global_demands'])}checked{/if} />
</div>
<div class="col-xs-10 demand_adv_option_block">
<p>{$demand['name']|escape:'html':'UTF-8'}</p>
{if isset($demand['adv_option']) && $demand['adv_option']}
<select class="id_option">
{foreach $demand['adv_option'] as $idOption => $option}
{assign var=demand_key value="`$idGlobalDemand`-`$idOption`"}
<option optionPrice="{$option['price']|escape:'html':'UTF-8'}" value="{$idOption|escape:'html':'UTF-8'}" {if isset($roomDemand['extra_demands'][$demand_key])}selected{/if} key="{$demand_key}">{$option['name']}</option>
{if isset($roomDemand['extra_demands'][$demand_key])}
{assign var=selected_adv_option value="$idOption"}
{/if}
{/foreach}
</select>
{else}
<input type="hidden" class="id_option" value="0" />
{/if}
</div>
</div>
</div>
<div class="col-xs-6">
<p><span class="pull-right extra_demand_option_price">{if isset($selected_adv_option) && isset($demand['adv_option'][$selected_adv_option]['price'])}{convertPrice price = $demand['adv_option'][$selected_adv_option]['price']|escape:'html':'UTF-8'}{else}{convertPrice price = $demand['price']|escape:'html':'UTF-8'}{/if}</span></p>
</div>
</div>
{/foreach}
{/if}
</div>
</div>
</div>
{/foreach}
{/if}
{elseif isset($extraDemands) && $extraDemands}
{foreach $extraDemands as $roomDemand}
<div class="col-sm-12">
<div class="col-sm-12 room_demand_detail">
{foreach $roomDemand['extra_demands'] as $demand}
<p>
<span>{$demand['name']}</span>
<span class="pull-right">{displayPrice price=$demand['total_price_tax_incl'] currency=$orderCurrency}</span>
</p>
{/foreach}
</div>
</div>
{/foreach}
{/if}
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">{l s='Close'}</button>
<button type="button" id="save_room_facilities" class="btn btn-success pull-right"><i class="icon-save"></i> {l s='Save'}</button>
</div>



{* Css for handling extra demands changes *}
<style type="text/css">
/*Extra demands CSS*/
#rooms_type_extra_demands .modal-title {
margin: 0px;}
#rooms_type_extra_demands .demand_edit_badge {
font-size: 14px;}
#rooms_extra_demands .room_ordered_demands td, #rooms_extra_demands .room_demand_detail {
font-size: 14px;}
#rooms_extra_demands .demand_header {
padding: 10px;
color: #333;
border-bottom: 1px solid #ddd;}
#rooms_extra_demands .room_demand_block {
margin-bottom: 15px;
color: #333;
font-size: 14px;}
#rooms_extra_demands .facility_nav_btn {
margin-bottom: 20px;}
#rooms_extra_demands .room_demands_container {
display: none;}
#room_extra_demand_content #save_room_facilities, #room_extra_demand_content #back_to_facilities_btn {
display: none;}
</style>

Loading

0 comments on commit 3e3dc9f

Please sign in to comment.