Skip to content

Commit 3e3dc9f

Browse files
authored
Merge pull request #103 from rohit053/v1.5.x
V1.5.0 released: API, Refund procress improvement, Order data management
2 parents 0946ab9 + 5df6e82 commit 3e3dc9f

File tree

1,142 files changed

+13470
-32427
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,142 files changed

+13470
-32427
lines changed

CHANGELOG.txt

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,87 @@
1+
####################################
2+
# V1.5.0
3+
####################################
4+
5+
## Added Features:
6+
7+
[+] CO : QloApps APIs are created (Prestashop APIs are modified as per hotel QloApps changes)
8+
[+] CO : `is_advance_payment` column is added in the 'cart' table.
9+
[+] CO : `is_advance_payment`, `advance_paid_amount` columns are added in the 'orders' table.
10+
[+] CO : `id_transaction`, `payment_mode`, `refunded_amount`, `by_admin` columns are added in the 'order_return' table.
11+
[+] CO : `id_order_return_detail`, `id_htl_booking`, `refunded_amount` columns are added in the 'order_return_detail' table.
12+
[+] 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.
13+
[+] CO : `customer_template`, `admin_template` columns are added in the 'order_return_state_lang' table.
14+
[+] CO : `id_htl_booking` column is added in the 'order_slip_detail' table.
15+
[+] CO : Refund emails will be sent to the customer as per return state setting
16+
[+] CO : All images link are now generated dynamically
17+
18+
[+] FO : Room type refund policies in the policies tab is shown in the room type details page.
19+
[+] FO : A controller will be there for the customer which will show his refund requests info
20+
21+
[+] BO : Admin can enable/disable refund for the hotel
22+
[+] BO : Refund Process:: Order return statuses improved for order refund statuses.
23+
[+] BO : Admin can select rules for the hotel [checkboxes]
24+
[+] BO : Admin can initiate refund if refund is enable for the system
25+
[+] BO : Admin can select which state is considered as refunded complete in the return state.
26+
[+] BO : Admin can select which state is considered as refunded denied in the return state.
27+
[+] BO : Admin can select whcih email will be sent to customer and admin for the return state.
28+
29+
[+] BO : Feature Price Rule: Groups wise Condition in feature price rules is added.
30+
[+] BO : Global refund policies cms page can be selected from refund rules controller.
31+
[+] BO : Refund can be enabled/disabled globally from refund rules controller.
32+
[+] BO : Payment mode and transaction id can be saved for the refund.
33+
[+] BO : Voucher slip can be generated for refund.
34+
[+] BO : Credit slip can be generated for refund.
35+
[+] BO : Additional facilities can be edited at the time of order editing.
36+
[+] BO : Room type features images are used as jpg images in place of png images.
37+
38+
39+
## Improved/changed features:
40+
41+
[*] BO : Refund Process:: Order return statuses improved for order refund statuses.
42+
[*] BO : In Additional Facilities list no price will be shown if facility have advance options.
43+
[*] BO : Admin will be able to select a checkout date while changing status of the room from order details page.
44+
[*] BO : Hotel category will be selected Default room type category.
45+
[*] BO : In Room type renderlist hotel(instead of category), city, number rooms, adults, Childs columns added.
46+
[*] BO : Merchandise Return tab is removed.
47+
[*] BO : Room type ids now start room type id from 1 in room type render list.
48+
[*] BO : Prestashop warning pop up will nt be shown during module installation for Webkul modules.
49+
[*] BO : Updated addons link from store to addon's page
50+
[*] BO : Added recomended image size for room type images for appropriate view on front end.
51+
52+
[*] FO : Calendar Design is improved of date from and date to in QloApps.
53+
[*] FO : 'Proceed' button during checkout will be disabled in case of errors while checkout.
54+
[*] FO : Search panel is improved on all pages.
55+
[*] FO : Cart warning text changed
56+
[*] FO : Refund request proocess is improved for the customer. Designed is also improved.
57+
58+
[*] CO : paypal adaptive module (by webkul) Removed completely from qloapps
59+
[*] 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.
60+
61+
[*] CO : For refund request "order_return" and "order_return_detail" tables are used.
62+
[*] CO : For order refund states "order_return_states" table is used.
63+
64+
65+
## Bug/Issues Resolved:
66+
67+
[-] BO : FIXED : Room does not free even after room status set to checkout.
68+
[-] BO : FIXED : Room does not free while order status is changed to Refunded, Cancelled or Payment Error.
69+
[-] BO : FIXED : Additional facilities price id not managed while deleting a booking from admin order details page.
70+
71+
[-] FO : FIXED: when using advance payment option, discount voucher (amount) get applied to advance payment amount along with total order cost
72+
[-] FO : FIXED : If all rows are disabled then also blocks (Interior, Rooms, Features, Testimonials) are visible on home page.
73+
[-] FO : FIXED : Zip code error while making the guest check.
74+
[-] FO : FIXED : Issue while creating a customer/guest from checkout page on firefox browser.
75+
[-] FO : FIXED : Check-out date same as check-in date when current data is more than max order date for hotel
76+
[-] FO : FIXED : customer able to process booking for inactive rooms
77+
[-] FO : FIXED : Image strech issue on product page.
78+
[-] FO : FIXED : Cart page not update when delete from from cart dropdown
79+
[-] FO : FIXED : While making the guest check out the system shows zip code error in some countries.
80+
81+
[-] CO : FIXED : Fatal error: Uncaught exception 'ImagickException' while creating invoice.
82+
[-] CO : FIXED : warning while creating invoice (total demands variable issue)
83+
84+
185
####################################
286
# V1.4.1
387
####################################

admin/themes/default/template/controllers/dashboard/helpers/view/view.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
<dd>{l s="Connect with the Qloapps community"}</dd>
104104
</dl>
105105
<dl>
106-
<dt><a href="https://store.webkul.com/Qloapps.html" class="_blank">{l s="Qloapps Addons"}</a></dt>
106+
<dt><a href="https://qloapps.com/addons/" class="_blank">{l s="Qloapps Addons"}</a></dt>
107107
<dd>{l s="Enhance your store Qloapps modules"}</dd>
108108
</dl>
109109
<dl>

admin/themes/default/template/controllers/modules/page.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
*}
2525
<div class="alert bg-info">
2626
<div class="row modules-addons-info">
27-
<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>
27+
<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>
2828
</div>
2929
</div>
3030
{$kpis}

admin/themes/default/template/controllers/orders/_product_line.tpl

Lines changed: 29 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@
2424
*}
2525

2626
<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}">
27+
{if $refund_allowed}
28+
<td class="standard_refund_fields" style="display:none">
29+
<input type="checkbox" name="id_htl_booking[]" value="{$data.id|escape:'html':'UTF-8'}" {if isset($refundReqBookings) && ($data.id|in_array:$refundReqBookings)}disabled{/if}/>
30+
</td>
31+
{/if}
2732
<td class="text-center">
2833
{$data.room_num}
2934
</td>
@@ -32,12 +37,12 @@
3237
</td>
3338
<td class="text-center">
3439
<p>{$data.room_type}</p>
40+
<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}>
41+
<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">
42+
{l s='Additional Features'}
43+
</a>
44+
</p>
3545
{if isset($data['extra_demands']) && $data['extra_demands']}
36-
<p class="room_extra_demands">
37-
<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">
38-
{l s='Additional Features'}
39-
</a>
40-
</p>
4146
<p>
4247
{convertPriceWithCurrency price=$data['extra_demands_price_ti'] currency=$currency->id}
4348
</p>
@@ -106,38 +111,29 @@
106111
</div>
107112
{/if}
108113
</td>
109-
110-
<td class="text-center stage_name">
111-
<p>
112-
{if isset($data['stage_name']) && $data['stage_name']}
113-
{$data['stage_name']}
114-
{else}
115-
--
114+
{if isset($refundReqBookings) && $refundReqBookings}
115+
<td class="text-center">
116+
{if isset($data.refund_info) && $data.refund_info}
117+
<span class="badge" style="background-color:{$data.refund_info.color|escape:'html':'UTF-8'}">{$data.refund_info.name|escape:'html':'UTF-8'}</span>
116118
{/if}
117-
</p>
118-
</td>
119-
<td class="text-center status_name">
120-
<p>
121-
{if $data['stage_name'] == 'Refunded' || $data['stage_name'] == 'Rejected'}
122-
{l s="Done!"}
123-
{else if $data['stage_name'] == 'Waiting' || $data['stage_name'] == 'Accepted'}
124-
{l s="Pending..."}
125-
{else}
126-
--
119+
</td>
120+
<td class="text-center">
121+
{if isset($data.refund_info) && $data.refund_info}
122+
{convertPriceWithCurrency price=$data.refund_info.refunded_amount currency=$currency->id}
127123
{/if}
128-
</p>
129-
</td>
124+
</td>
125+
{/if}
130126

131127
{if $data.booking_type == 1}
132-
<td class="text-center">
133-
{if $data['stage_name'] == 'Refunded' || $data['stage_name'] == 'Rejected'}
134-
<p class="text-center">----</p>
135-
{else}
136-
<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}'>
137-
{l s='Reallocate Room' mod='hotelreservationsystem'}
138-
</button>
139-
{/if}
140-
</td>
128+
<td class="text-center">
129+
{if isset($data.refund_info) && ($data.refund_info.refunded || $data.refund_info.denied)}
130+
<p class="text-center">--</p>
131+
{else}
132+
<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}'>
133+
{l s='Reallocate Room' mod='hotelreservationsystem'}
134+
</button>
135+
{/if}
136+
</td>
141137
{/if}
142138
{if ($can_edit && !$order->hasBeenDelivered())}
143139
<td class="product_invoice" style="display: none;">
Lines changed: 120 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,123 @@
1-
{if isset($extraDemands) && $extraDemands}
2-
{foreach $extraDemands as $roomDemand}
3-
<div class="row">
4-
<div class="col-sm-12 demand_header">
5-
<i class="icon icon-tasks"></i> {l s='Room\'s Extra Demands'}
1+
<div class="modal-header">
2+
<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>
3+
</h3>
4+
</div>
5+
<div class="modal-body" id="rooms_extra_demands">
6+
<div id="room_type_demands_desc" class="row">
7+
<input type="hidden" value="0" id="id_htl_booking">
8+
{if isset($orderEdit) && $orderEdit}
9+
<p class="col-sm-12 facility_nav_btn">
10+
<button id="btn_new_room_facility" class="btn btn-success"><i class="icon-plus"></i> {l s='Add new facility'}</button>
11+
<button id="back_to_facilities_btn" class="btn btn-default"><i class="icon-arrow-left"></i> {l s='Back'}</button>
12+
</p>
13+
14+
{* Already selected room demands *}
15+
<div class="col-sm-12 room_ordered_demands table-responsive">
16+
<table class="table">
17+
<tbody>
18+
{if isset($extraDemands) && $extraDemands}
19+
{foreach $extraDemands as $roomDemand}
20+
{foreach $roomDemand['extra_demands'] as $demand}
21+
<tr>
22+
<td>{$demand['name']}</td>
23+
<td>{displayPrice price=$demand['total_price_tax_incl'] currency=$orderCurrency}</td>
24+
<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>
25+
</tr>
26+
{/foreach}
27+
{/foreach}
28+
{else}
29+
<tr>
30+
<td colspan="3">
31+
<i class="icon-warning"></i> {l s='No additional facilities added yet.'}
32+
</td>
33+
</tr>
34+
{/if}
35+
</tbody>
36+
</table>
637
</div>
7-
<div>
8-
<div class="col-sm-12 demand_detail">
9-
{foreach $roomDemand['extra_demands'] as $demand}
10-
<p>
11-
<span>{$demand['name']}</span>
12-
<span class="pull-right">{displayPrice price=$demand['total_price_tax_incl'] currency=$orderCurrency}</span>
13-
</p>
14-
{/foreach}
38+
39+
{* Room demands available for the current editing room*}
40+
<div class="col-sm-12 room_demands_container">
41+
<div class="room_demand_detail">
42+
{if isset($roomTypeDemands) && $roomTypeDemands}
43+
{foreach $roomTypeDemands as $idGlobalDemand => $demand}
44+
<div class="row room_demand_block">
45+
<div class="col-xs-6">
46+
<div class="row">
47+
<div class="col-xs-2">
48+
<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} />
49+
</div>
50+
<div class="col-xs-10 demand_adv_option_block">
51+
<p>{$demand['name']|escape:'html':'UTF-8'}</p>
52+
{if isset($demand['adv_option']) && $demand['adv_option']}
53+
<select class="id_option">
54+
{foreach $demand['adv_option'] as $idOption => $option}
55+
{assign var=demand_key value="`$idGlobalDemand`-`$idOption`"}
56+
<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>
57+
{if isset($roomDemand['extra_demands'][$demand_key])}
58+
{assign var=selected_adv_option value="$idOption"}
59+
{/if}
60+
{/foreach}
61+
</select>
62+
{else}
63+
<input type="hidden" class="id_option" value="0" />
64+
{/if}
65+
</div>
66+
</div>
67+
</div>
68+
<div class="col-xs-6">
69+
<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>
70+
</div>
71+
</div>
72+
{/foreach}
73+
{/if}
1574
</div>
1675
</div>
17-
</div>
18-
{/foreach}
19-
{/if}
76+
{elseif isset($extraDemands) && $extraDemands}
77+
{foreach $extraDemands as $roomDemand}
78+
<div class="col-sm-12">
79+
<div class="col-sm-12 room_demand_detail">
80+
{foreach $roomDemand['extra_demands'] as $demand}
81+
<p>
82+
<span>{$demand['name']}</span>
83+
<span class="pull-right">{displayPrice price=$demand['total_price_tax_incl'] currency=$orderCurrency}</span>
84+
</p>
85+
{/foreach}
86+
</div>
87+
</div>
88+
{/foreach}
89+
{/if}
90+
</div>
91+
</div>
92+
<div class="modal-footer">
93+
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">{l s='Close'}</button>
94+
<button type="button" id="save_room_facilities" class="btn btn-success pull-right"><i class="icon-save"></i> {l s='Save'}</button>
95+
</div>
96+
97+
98+
99+
{* Css for handling extra demands changes *}
100+
<style type="text/css">
101+
/*Extra demands CSS*/
102+
#rooms_type_extra_demands .modal-title {
103+
margin: 0px;}
104+
#rooms_type_extra_demands .demand_edit_badge {
105+
font-size: 14px;}
106+
#rooms_extra_demands .room_ordered_demands td, #rooms_extra_demands .room_demand_detail {
107+
font-size: 14px;}
108+
#rooms_extra_demands .demand_header {
109+
padding: 10px;
110+
color: #333;
111+
border-bottom: 1px solid #ddd;}
112+
#rooms_extra_demands .room_demand_block {
113+
margin-bottom: 15px;
114+
color: #333;
115+
font-size: 14px;}
116+
#rooms_extra_demands .facility_nav_btn {
117+
margin-bottom: 20px;}
118+
#rooms_extra_demands .room_demands_container {
119+
display: none;}
120+
#room_extra_demand_content #save_room_facilities, #room_extra_demand_content #back_to_facilities_btn {
121+
display: none;}
122+
</style>
123+

0 commit comments

Comments
 (0)