Merge branch 'develop' into gli-2929_2
This commit is contained in:
@@ -108,6 +108,8 @@
|
||||
@import "partials/select2"
|
||||
@import "partials/ndv3"
|
||||
|
||||
@import "partials/tooltip"
|
||||
|
||||
//Backward compatibility
|
||||
@import "partials/backward"
|
||||
|
||||
|
||||
@@ -112,6 +112,8 @@
|
||||
//RTL
|
||||
@import "partials/rtl"
|
||||
|
||||
@import "partials/tooltip"
|
||||
|
||||
//Backward compatibility
|
||||
@import "partials/backward"
|
||||
|
||||
|
||||
30
admin/themes/default/sass/partials/_tooltip.sass
Normal file
30
admin/themes/default/sass/partials/_tooltip.sass
Normal file
@@ -0,0 +1,30 @@
|
||||
.tooltip_cont
|
||||
min-width: 280px
|
||||
width: 100%
|
||||
font-size: 14px
|
||||
font-weight: 600
|
||||
.tip_header
|
||||
margin-bottom: 10px
|
||||
.tip-body > div
|
||||
margin-bottom: 6px
|
||||
|
||||
.tip_element_head
|
||||
font-size: 12px
|
||||
|
||||
.tip_element_value
|
||||
font-size: 14px
|
||||
font-weight: 400
|
||||
opacity: 0.8
|
||||
|
||||
.tip-body
|
||||
display: grid
|
||||
grid-template-columns: auto auto
|
||||
&.tip-body-grid
|
||||
grid-template-columns: 1fr 1fr
|
||||
gap: 8px 16px
|
||||
|
||||
.ui-tooltip,
|
||||
.ui-tooltip.ui-widget-content
|
||||
border: none
|
||||
padding: 10px
|
||||
box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15)
|
||||
@@ -107,6 +107,47 @@
|
||||
}
|
||||
perfect_access_js_gestion(this, perm, id_tab, tabsize, tabnumber, table);
|
||||
|
||||
if (perm == 'kpi') {
|
||||
$(table + ' .kpi.' + id_tab).prop('checked', !!enabled);
|
||||
}
|
||||
|
||||
$(table + ' tr.kpi-row').each(function() {
|
||||
var kpiTabId = $(this).data('kpi-parent');
|
||||
var kpiProfile = $(this).data('kpi-profile');
|
||||
var $kpiInputs = $(this).find('input.ajaxPower.kpi');
|
||||
if (!$kpiInputs.length || $kpiInputs.first().data('kpi-editable') != 1) { return; }
|
||||
// For perm=view, read state directly from action — jQuery 1.11 .attr() doesn't update .prop()
|
||||
var parentEnabled = (perm == 'view' && (id_tab == kpiTabId || id_tab == -1))
|
||||
? !!enabled
|
||||
: $(table + ' input.view.' + kpiTabId).first().is(':checked');
|
||||
if (!parentEnabled) {
|
||||
$kpiInputs.prop('checked', false).prop('disabled', true);
|
||||
} else {
|
||||
$kpiInputs.prop('disabled', false);
|
||||
if (perm == 'all' && (id_tab == -1 || id_tab == kpiTabId)) {
|
||||
$kpiInputs.prop('checked', !!enabled).first().trigger('change');
|
||||
}
|
||||
if (perm == 'view' && (id_tab == kpiTabId || id_tab == -1) && !!enabled) {
|
||||
$kpiInputs.prop('checked', true);
|
||||
$.ajax({
|
||||
url: "{$link->getAdminLink('AdminAccess')|addslashes}",
|
||||
cache: false,
|
||||
data: {
|
||||
ajaxMode: '1',
|
||||
id_tab: kpiTabId,
|
||||
id_profile: kpiProfile,
|
||||
perm: 'kpi',
|
||||
enabled: 1,
|
||||
submitAddAccess: '1',
|
||||
action: 'updateAccess',
|
||||
ajax: '1',
|
||||
token: '{getAdminToken tab='AdminAccess'}'
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: "{$link->getAdminLink('AdminAccess')|addslashes}",
|
||||
cache: false,
|
||||
@@ -349,6 +390,32 @@
|
||||
<input type="checkbox"{if $access_edit == 1} data-rel="{$access[$tab.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}" class="ajaxPower all {$access[$tab.id_tab]['id_tab']}"{else} class="all {$access[$tab.id_tab]['id_tab']}" disabled="disabled"{/if}{if $result_accesses == 4} checked="checked"{/if}/>
|
||||
</td>
|
||||
</tr>
|
||||
{if !empty($tab.has_kpi)}
|
||||
<tr class="kpi-row kpi-level-1 child-kpi-{$tab.id_tab}" data-kpi-parent="{$tab.id_tab}" data-kpi-profile="{$profile.id_profile}">
|
||||
<td> » {l s='KPI'}</td>
|
||||
<td>
|
||||
<input type="checkbox"
|
||||
class="ajaxPower kpi {$tab.id_tab}"
|
||||
data-rel="{$tab.id_tab}||{$profile.id_profile}||kpi||{$tabsize}||{count($tabs)}"
|
||||
data-kpi-editable="{if $access_edit == 1}1{else}0{/if}"
|
||||
{if $access_edit != 1 || $access[$tab.id_tab].view != 1}disabled="disabled"{/if}
|
||||
{if isset($access[$tab.id_tab].kpi) && $access[$tab.id_tab].kpi == 1 && $access[$tab.id_tab].view == 1}checked="checked"{/if}
|
||||
/>
|
||||
</td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td>
|
||||
<input type="checkbox"
|
||||
class="ajaxPower kpi {$tab.id_tab}"
|
||||
data-rel="{$tab.id_tab}||{$profile.id_profile}||kpi||{$tabsize}||{count($tabs)}"
|
||||
data-kpi-editable="{if $access_edit == 1}1{else}0{/if}"
|
||||
{if $access_edit != 1 || $access[$tab.id_tab].view != 1}disabled="disabled"{/if}
|
||||
{if isset($access[$tab.id_tab].kpi) && $access[$tab.id_tab].kpi == 1 && $access[$tab.id_tab].view == 1}checked="checked"{/if}
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{foreach $tabs AS $child}
|
||||
{if $child.id_parent === $tab.id_tab}
|
||||
{if isset($access[$child.id_tab])}
|
||||
@@ -372,6 +439,32 @@
|
||||
<input type="checkbox"{if $access_edit == 1} data-rel="{$access[$child.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}" class="ajaxPower all {$access[$child.id_tab]['id_tab']}"{else} class="all {$access[$child.id_tab]['id_tab']}" disabled="disabled"{/if}{if $result_accesses == 4} checked="checked"{/if}/>
|
||||
</td>
|
||||
</tr>
|
||||
{if !empty($child.has_kpi)}
|
||||
<tr class="kpi-row kpi-level-2 child-kpi-{$child.id_tab}" data-kpi-parent="{$child.id_tab}" data-kpi-profile="{$profile.id_profile}">
|
||||
<td> » {l s='KPI'}</td>
|
||||
<td>
|
||||
<input type="checkbox"
|
||||
class="ajaxPower kpi {$child.id_tab}"
|
||||
data-rel="{$child.id_tab}||{$profile.id_profile}||kpi||{$tabsize}||{count($tabs)}"
|
||||
data-kpi-editable="{if $access_edit == 1}1{else}0{/if}"
|
||||
{if $access_edit != 1 || $access[$child.id_tab].view != 1}disabled="disabled"{/if}
|
||||
{if isset($access[$child.id_tab].kpi) && $access[$child.id_tab].kpi == 1 && $access[$child.id_tab].view == 1}checked="checked"{/if}
|
||||
/>
|
||||
</td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td>
|
||||
<input type="checkbox"
|
||||
class="ajaxPower kpi {$child.id_tab}"
|
||||
data-rel="{$child.id_tab}||{$profile.id_profile}||kpi||{$tabsize}||{count($tabs)}"
|
||||
data-kpi-editable="{if $access_edit == 1}1{else}0{/if}"
|
||||
{if $access_edit != 1 || $access[$child.id_tab].view != 1}disabled="disabled"{/if}
|
||||
{if isset($access[$child.id_tab].kpi) && $access[$child.id_tab].kpi == 1 && $access[$child.id_tab].view == 1}checked="checked"{/if}
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
@@ -438,4 +531,4 @@
|
||||
</div>
|
||||
{/foreach}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -26,9 +26,7 @@
|
||||
{extends file="helpers/view/view.tpl"}
|
||||
|
||||
{block name="override_tpl"}
|
||||
<div class="panel">
|
||||
{$kpi}
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel">
|
||||
|
||||
@@ -69,11 +69,11 @@
|
||||
<div class="margin-form" style="margin-top:4px;">
|
||||
{foreach $list.files as $key => $file}
|
||||
{if !file_exists($key)}
|
||||
<font color="red">
|
||||
<span style="color:red;">
|
||||
{/if}
|
||||
{$key}
|
||||
{if !file_exists($key)}
|
||||
</font>
|
||||
</span>
|
||||
{/if}
|
||||
<br />
|
||||
{/foreach}
|
||||
|
||||
@@ -51,7 +51,12 @@
|
||||
{assign var=curr_id value=$cart->id_currency|intval}
|
||||
{foreach from=$cart_detail_data item=data}
|
||||
<tr data-id-booking-data="{$data.id}" data-id-product="{$data.id_product}" data-id-room="{$data.id_room}" data-date-from="{$data.date_from}" data-date-to="{$data.date_to}" >
|
||||
<td>{$data.room_num|escape:'html':'UTF-8'} {hook h='displayRoomNumAfter' data=$data type='adminOrder'}</td>
|
||||
<td>{$data.room_num|escape:'html':'UTF-8'}
|
||||
{if isset($data['connected_rooms'][$data.id_room])}
|
||||
{include file="controllers/products/connected-rooms.tpl" htl_connected_rooms=$data['connected_rooms'][$data.id_room]}
|
||||
{/if}
|
||||
|
||||
{hook h='displayRoomNumAfter' data=$data type='adminOrder'}</td>
|
||||
<td><img src="{$data.image_link|escape:'html':'UTF-8'}" title="Stay image" /></td>
|
||||
<td>
|
||||
<p>{$data.room_type|escape:'html':'UTF-8'}</p>
|
||||
@@ -130,7 +135,7 @@
|
||||
{* <td class="cart_line_total_rooms_price" id="cart_detail_data_price_{$data.id|escape:'html':'UTF-8'}">
|
||||
{displayPrice price=$data.amt_with_qty}</td> *}
|
||||
<td class="cart_line_total_price">
|
||||
{if (isset($data.extra_demands) && $data.extra_demands) || (isset($data.additional_service) && $data.additional_service)}
|
||||
{if (isset($data.extra_demands) && $data.extra_demands) || (isset($data.additional_service) && $data.additional_service) || (isset($data.selected_services) && $data.selected_services)}
|
||||
{displayPrice price=($data.amt_with_qty + $data.additional_services_auto_add_price + $data.demand_price + $data.additional_service_price)|escape:'html':'UTF-8'}
|
||||
{else}
|
||||
{displayPrice price=$data.amt_with_qty|escape:'html':'UTF-8'}
|
||||
|
||||
@@ -25,7 +25,11 @@
|
||||
|
||||
<tr class="product-line-row" data-id_htl_booking="{$data.id|escape:'html':'UTF-8'}" 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-id_order_detail="{$data.id_order_detail}">
|
||||
<td>
|
||||
<p>{$data.room_num}</p>
|
||||
<p>{$data.room_num}
|
||||
{if isset($data['connected_rooms'][$data.id_room])}
|
||||
{include file="controllers/products/connected-rooms.tpl" htl_connected_rooms=$data['connected_rooms'][$data.id_room]}
|
||||
{/if}
|
||||
</p>
|
||||
{if $data.is_back_order}
|
||||
<span class="overbooked_room">{l s='overbooked'}</span>
|
||||
{/if}
|
||||
|
||||
@@ -456,7 +456,7 @@
|
||||
<th><span class="title_box ">{l s='Transaction ID'}</span></th>
|
||||
<th><span class="title_box ">{l s='Amount'}</span></th>
|
||||
<th><span class="title_box ">{l s='Invoice'}</span></th>
|
||||
<th></th>
|
||||
<th colspan="3"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -468,6 +468,11 @@
|
||||
<td>{$payment['transaction_id']|escape:'html':'UTF-8'}</td>
|
||||
<td>{displayPrice price=$payment['real_paid_amount'] currency=$payment['id_currency']}</td>
|
||||
<td>{if isset($payment['invoice_number'])}{$payment['invoice_number']}{else}--{/if}</td>
|
||||
{if isset($receipt_management_active) && $receipt_management_active}
|
||||
<td class="actions">
|
||||
<a target="_blank" class="btn btn-default" href="{$link->getAdminLink('AdminPdf')}&submitAction=generatePaymentReceipt&id_order_payment_detail={$payment['id_order_payment_detail']}"><i class="icon-file-text"></i> {l s='Receipt'}</a>
|
||||
</td>
|
||||
{/if}
|
||||
<td class="actions">
|
||||
<a class="open_payment_information btn btn-default" href="#" data-card_number="{if $payment['card_number']}{$payment['card_number']}{else}{l s='Not defined'}{/if}" data-card_brand="{if $payment['card_brand']}{$payment['card_brand']}{else}{l s='Not defined'}{/if}" data-card_expiration="{if $payment['card_expiration']}{$payment['card_expiration']}{else}{l s='Not defined'}{/if}" data-card_holder="{if $payment['card_holder']}{$payment['card_holder']}{else}{l s='Not defined'}{/if}" data-payment_date="{if $payment['date_add']}{$payment['date_add']}{else}{l s='Not defined'}{/if}" data-payment_method="{if $payment['payment_method']}{$payment['payment_method']}{else}{l s='Not defined'}{/if}" data-payment_source="{if $payment_types[$payment['payment_type']]['name']}{$payment_types[$payment['payment_type']]['name']}{else}{l s='Not defined'}{/if}" data-transaction_id="{if $payment['transaction_id']}{$payment['transaction_id']}{else}{l s='Not defined'}{/if}" data-amount="{if $payment['amount']}{displayPrice currency={$payment['id_currency']} price={$payment['amount']}}{else}{l s='Not defined'}{/if}" data-invoice_number="{if isset($payment['invoice_number']) && $payment['invoice_number']}{$payment['invoice_number']}{else}{l s='Not defined'}{/if}"><i class="icon-search"></i> {l s='Details'}</a>
|
||||
</td>
|
||||
|
||||
@@ -67,6 +67,14 @@
|
||||
</span>
|
||||
</label>
|
||||
</th>
|
||||
<th class="col-sm-1 center">
|
||||
<label class="control-label">
|
||||
<span class="label-tooltip" data-toggle="tooltip"
|
||||
data-original-title="{l s='Manage connected rooms for this room'}">
|
||||
{l s='Connected Rooms'}
|
||||
</span>
|
||||
</label>
|
||||
</th>
|
||||
{hook h='displayHotelRoomListTableHeaderColumn'}
|
||||
<th class="col-sm-1 center">
|
||||
{l s='--'}
|
||||
@@ -108,6 +116,21 @@
|
||||
<input type="hidden" class="form-control disable_dates_json" name="{$var_name_room_info|cat:'[disable_dates_json]'}" {if $room_info['id_status'] == $rm_status['STATUS_TEMPORARY_INACTIVE']['id']}value="{$room_info['disable_dates_json']|escape:'html':'UTF-8'}"{/if}>
|
||||
</td>
|
||||
{* Since the data can also be used from post incase of errors, which will cause issues with the id index *}
|
||||
<td class="col-sm-1 center">
|
||||
{if isset($room_info['id'])}
|
||||
<a href="#" class="btn btn-default connectedRoomModal" data-toggle="modal"
|
||||
data-target="#connectedRoomModal" data-id-room="{$room_info['id']|intval}"
|
||||
data-room-num="{$room_info['room_num']|escape:'html':'UTF-8'}"
|
||||
data-room-type="{$room_info['id_product']|intval}">
|
||||
<span class="connected-room-icon-wrapper">
|
||||
<i class="icon-random"></i>
|
||||
<span class="connected-room-count">
|
||||
{if isset($room_info['connected_rooms_count'])}{$room_info['connected_rooms_count']|intval}{else}0{/if}
|
||||
</span>
|
||||
</span>
|
||||
</a>
|
||||
{/if}
|
||||
</td>
|
||||
{if isset($room_info['id'])}
|
||||
{hook h='displayHotelRoomListTableRowColumn' index=$key id_room=$room_info['id']}
|
||||
{else}
|
||||
@@ -343,6 +366,7 @@
|
||||
</label>
|
||||
<div class="col-lg-6">
|
||||
<select class="form-control bulk_update_room_status" name="bulk_update_room_status">
|
||||
<option value="0">{l s='Select Status'}</option>
|
||||
{foreach from=$rm_status item=room_stauts}
|
||||
<option value="{$room_stauts['id']}">{$room_stauts['status']|escape:'htmlall':'UTF-8'}</option>
|
||||
{/foreach}
|
||||
@@ -578,6 +602,26 @@
|
||||
border: 1px solid #f2f2f2;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.connected-room-icon-wrapper {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
justify-content: center;
|
||||
}
|
||||
.connected-room-count {
|
||||
min-width: 14px;
|
||||
height: 14px;
|
||||
padding: 0 3px;
|
||||
border-radius: 9px;
|
||||
background: #f5f5f5;
|
||||
color: #666;
|
||||
border: 1px solid #d5d5d5;
|
||||
font-size: 9px;
|
||||
line-height: 12px;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
box-shadow: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
@@ -585,6 +629,8 @@
|
||||
var rm_status = {$rm_status|@json_encode};
|
||||
var confirmText = "{l s='Are you sure?' js=1}";
|
||||
var removeDisableDateText = "{l s='Are you sure you want to remove the selected date range?' js=1}";
|
||||
var selectRoomText = "{l s='Please select a room' js=1}";
|
||||
var roomNoText = "{l s='Room No' js=1}";
|
||||
var currentRoomRow = 0;
|
||||
$(document).ready(function() {
|
||||
var tooltipCounter = 0;
|
||||
@@ -616,44 +662,55 @@
|
||||
{/literal}
|
||||
|
||||
// Add new room detail
|
||||
$('#add-more-rooms-button').on('click',function() {
|
||||
var lengthRooms = parseInt($('.room_data_values').length);
|
||||
$('#add-more-rooms-button').on('click', function() {
|
||||
var lengthRooms = parseInt($('.room_data_values').length);
|
||||
|
||||
var prefix = 'rooms_info['+lengthRooms+']';
|
||||
html = '<tr class="room_data_values" data-row-index="'+lengthRooms+'">';
|
||||
var prefix = 'rooms_info[' + lengthRooms + ']';
|
||||
html = '<tr class="room_data_values" data-row-index="' + lengthRooms + '">';
|
||||
html += '<td class="center">';
|
||||
html += '<input type="checkbox" disabled name="selected_room_ids[]">';
|
||||
html += '<input type="checkbox" disabled name="selected_room_ids[]">';
|
||||
html += '</td>';
|
||||
html += '<td class="col-sm-1 center">';
|
||||
html += '<input class="form-control" type="text" name="'+prefix+'[room_num]">';
|
||||
html += '<input class="form-control" type="text" name="' + prefix + '[room_num]">';
|
||||
html += '</td>';
|
||||
html += '<td class="col-sm-2 center">';
|
||||
html += '<input class="form-control" type="text" name="'+prefix+'[floor]">';
|
||||
html += '<input class="form-control" type="text" name="' + prefix + '[floor]">';
|
||||
html += '</td>';
|
||||
html += '<td class="col-sm-2 center">';
|
||||
html += '<select class="form-control room_status" name="'+prefix+'[id_status]">';
|
||||
$.each(rm_status, function(key, value) {
|
||||
html += '<option value="'+value.id+'">'+value.status+'</option>';
|
||||
});
|
||||
html += '</select>';
|
||||
html += '<select class="form-control room_status" name="' + prefix + '[id_status]">';
|
||||
$.each(rm_status, function(key, value) {
|
||||
html += '<option value="' + value.id + '">' + value.status + '</option>';
|
||||
});
|
||||
html += '</select>';
|
||||
html += '</td>';
|
||||
html += '<td class="col-sm-3 center">';
|
||||
html += '<input class="form-control" type="text" name="'+prefix+'[comment]">';
|
||||
html += '<input class="form-control" type="text" name="' + prefix + '[comment]">';
|
||||
html += '</td>';
|
||||
html += '<td class="center col-sm-2">';
|
||||
html += '<a class="btn btn-default deactiveDatesModal disabled" data-toggle="modal" data-target="#deactiveDatesModal">';
|
||||
html += "{l s='Add Dates'}";
|
||||
html += '</a>';
|
||||
html += '<input type="hidden" class="form-control disable_dates_json" name="'+prefix+'[disable_dates_json]">';
|
||||
html +=
|
||||
'<a class="btn btn-default deactiveDatesModal disabled" data-toggle="modal" data-target="#deactiveDatesModal">';
|
||||
html += "{l s='Add Dates'}";
|
||||
html += '</a>';
|
||||
html += '<input type="hidden" class="form-control disable_dates_json" name="' + prefix +
|
||||
'[disable_dates_json]">';
|
||||
html += '</td>';
|
||||
html += '<td class="col-sm-1 center">';
|
||||
html += '<a href="#" class="btn btn-default disabled">';
|
||||
html += '<span class="connected-room-icon-wrapper">';
|
||||
html += '<i class="icon-random"></i>';
|
||||
html += '<span class="connected-room-count">0</span>';
|
||||
html += '</span>';
|
||||
html += '</a>';
|
||||
html += '</td>';
|
||||
html += '{hook h='displayHotelRoomListTableRowColumn'}';
|
||||
html += '<td class="center col-sm-1">';
|
||||
html += '<a href="#" class="remove-rooms-button btn btn-default"><i class="icon-trash"></i></a>';
|
||||
html +=
|
||||
'<a href="#" class="remove-rooms-button btn btn-default"><i class="icon-trash"></i></a>';
|
||||
html += '</td>';
|
||||
html += '</tr>';
|
||||
html += '</tr>';
|
||||
|
||||
$('table.hotel-room tbody').append(html);
|
||||
});
|
||||
$('table.hotel-room tbody').append(html);
|
||||
});
|
||||
|
||||
// delete room
|
||||
$('.rm_htl_room').on('click',function(e) {
|
||||
@@ -669,13 +726,26 @@
|
||||
action:'deleteHotelRoom',
|
||||
id: id_htl_info,
|
||||
},
|
||||
success: function (response) {
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
showSuccessMessage("{l s='Removed successfully'}");
|
||||
$current.closest(".room_data_values").remove();
|
||||
if (response.affected_rooms && response.affected_rooms.length) {
|
||||
$.each(response.affected_rooms, function(i, roomId) {
|
||||
var $badge = $(
|
||||
'.connectedRoomModal[data-id-room="' +
|
||||
roomId + '"] .connected-room-count');
|
||||
if ($badge.length) {
|
||||
var count = parseInt($badge.text().trim());
|
||||
if (count > 0) {
|
||||
$badge.text(count - 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (response.errors)
|
||||
showErrorMessage(response.errors);
|
||||
showErrorMessage(response.errors);
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||||
@@ -1027,7 +1097,7 @@
|
||||
$('#bulkUpdateRoomModal').on('show.bs.modal', function(e){
|
||||
if (!$(e.relatedTarget).attr('disabled')) {
|
||||
$('#bulkUpdateRoomModal table tbody').html('');
|
||||
$('.bulk_update_room_status').val(rm_status.STATUS_ACTIVE.id).closest('.modal-body').find('.rooms-disable-dates').parent().hide();
|
||||
$('.bulk_update_room_status').val('0').closest('.modal-body').find('.rooms-disable-dates').parent().hide();
|
||||
$('[name="bulk_update_room_comment"]').val('');
|
||||
$('[name="bulk_update_room_floor"]').val('');
|
||||
$('#page-loader').show();
|
||||
@@ -1885,6 +1955,184 @@
|
||||
return false;
|
||||
}
|
||||
}
|
||||
const initConnectedRoomModal = {
|
||||
show: function(e) {
|
||||
e.preventDefault();
|
||||
var roomId = $(this).data('id-room');
|
||||
var roomNum = $(this).data('room-num');
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: prod_link,
|
||||
dataType: 'json',
|
||||
data: {
|
||||
ajax: true,
|
||||
action: 'initConnectedRoomModal',
|
||||
room_id: roomId,
|
||||
},
|
||||
success: function(response) {
|
||||
if (!response.hasError) {
|
||||
if ($('#connectedRoomModal').length) {
|
||||
$('#connectedRoomModal').modal('hide');
|
||||
$('#connectedRoomModal').data('bs.modal', null);
|
||||
$('#connectedRoomModal').remove();
|
||||
}
|
||||
$('.modal-backdrop').remove();
|
||||
$('body').removeClass('modal-open');
|
||||
$("#footer").next(".bootstrap").append(response.modalHtml);
|
||||
$('#connectedRoomModal').modal({
|
||||
backdrop: 'static',
|
||||
keyboard: true
|
||||
});
|
||||
if (roomNum) {
|
||||
roomNum = '( ' + roomNoText + ' ' + roomNum + ')';
|
||||
$('#connectedRoomModal').attr('data-room-num-title', roomNum);
|
||||
$('#connected_room_title').html(roomNum);
|
||||
} else {
|
||||
$('#connectedRoomModal').attr('data-room-num-title', '');
|
||||
$('#connected_room_title').html('');
|
||||
}
|
||||
} else {
|
||||
alert(response.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
add: function() {
|
||||
var $row = $(this).closest('tr');
|
||||
var mainRoomId = $('#connected_room_main_id').val();
|
||||
var connectedRoomId = $row.find('.connect-room').val();
|
||||
|
||||
if (!connectedRoomId) {
|
||||
alert(selectRoomText);
|
||||
return;
|
||||
}
|
||||
$.ajax({
|
||||
url: prod_link,
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
ajax: true,
|
||||
action: 'ManageConnectedRoom',
|
||||
mode: 'add',
|
||||
room_id: mainRoomId,
|
||||
connected_room_id: connectedRoomId,
|
||||
},
|
||||
beforeSend: function() {
|
||||
$row.find('.save-connected-room').prop('disabled', true);
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
showSuccessMessage(response.message);
|
||||
$('#connectedRoomModal .modal-body').replaceWith($(response.html).filter('.modal-body'));
|
||||
$('#connected_room_title').html($('#connectedRoomModal').attr('data-room-num-title'));
|
||||
var $icon = $('.connectedRoomModal[data-id-room="' + mainRoomId + '"]').find('.connected-room-count');
|
||||
if ($icon.length && typeof response.connected_count !== 'undefined') {
|
||||
$icon.text(response.connected_count);
|
||||
}
|
||||
} else {
|
||||
alert(response.message);
|
||||
}
|
||||
},
|
||||
complete: function() {
|
||||
$row.find('.save-connected-room').prop('disabled', false);
|
||||
}
|
||||
});
|
||||
},
|
||||
showNotConnectedRooms: function() {
|
||||
var $typeSelect = $(this);
|
||||
var $row = $typeSelect.closest('tr');
|
||||
var roomTypeId = $typeSelect.val();
|
||||
var roomId = $('#connected_room_main_id').val();
|
||||
var $roomSelect = $row.find('.connect-room');
|
||||
$roomSelect.empty();
|
||||
if (!roomTypeId) {
|
||||
return;
|
||||
}
|
||||
$.ajax({
|
||||
url: prod_link,
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
ajax: true,
|
||||
action: 'getNotConnectedRooms',
|
||||
room_id: roomId,
|
||||
room_type_id: roomTypeId,
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success && response.rooms && response.rooms.length) {
|
||||
$.each(response.rooms, function(i, room) {
|
||||
$roomSelect.append(
|
||||
$('<option>').val(room.id_room).text(room.name)
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
addRow: function() {
|
||||
var $template = $('#connected_room_add_template');
|
||||
if (!$template.length) {
|
||||
return;
|
||||
}
|
||||
var $tbody = $('#connected_rooms_tbody');
|
||||
if ($tbody.find('.connected-room-add-row').not('#connected_room_add_template').length) {
|
||||
return;
|
||||
}
|
||||
var $newRow = $template.clone().removeAttr('id').removeClass('hide');
|
||||
$('#connected_rooms_table_wrapper').removeClass('hide');
|
||||
$('#connected_rooms_empty_state').hide();
|
||||
$tbody.append($newRow);
|
||||
initConnectedRoomModal.showNotConnectedRooms.call($newRow.find('.connect-room-type')[0]);
|
||||
$('#add_connected_room_row').prop('disabled', true);
|
||||
},
|
||||
removeRow: function() {
|
||||
var $row = $(this).closest('tr');
|
||||
$row.remove();
|
||||
$('#add_connected_room_row').prop('disabled', false);
|
||||
if (!$('#connected_rooms_tbody').find('.connected-room-row').length) {
|
||||
$('#connected_rooms_table_wrapper').addClass('hide');
|
||||
$('#connected_rooms_empty_state').removeClass('hide').show();
|
||||
}
|
||||
},
|
||||
delete: function() {
|
||||
var mainRoomId = $('#connected_room_main_id').val();
|
||||
var connectedId = $(this).data('connected-id');
|
||||
|
||||
$.ajax({
|
||||
url: prod_link,
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
ajax: true,
|
||||
action: 'ManageConnectedRoom',
|
||||
mode: 'delete',
|
||||
room_id: mainRoomId,
|
||||
connected_id: connectedId,
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
showSuccessMessage(response.message);
|
||||
$('#connectedRoomModal .modal-body').replaceWith($(response.html).filter('.modal-body'));
|
||||
$('#connected_room_title').html($('#connectedRoomModal').attr('data-room-num-title'));
|
||||
var $icon = $('.connectedRoomModal[data-id-room="' + mainRoomId + '"]').find('.connected-room-count');
|
||||
if ($icon.length && typeof response.connected_count !== 'undefined') {
|
||||
$icon.text(response.connected_count);
|
||||
}
|
||||
} else {
|
||||
alert(response.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$(document).on('click', '.connectedRoomModal', initConnectedRoomModal.show);
|
||||
$(document).on('click', '.save-connected-room', initConnectedRoomModal.add);
|
||||
$(document).on('click', '.delete-connected-room', initConnectedRoomModal.delete);
|
||||
$(document).on('click', '#add_connected_room_row', initConnectedRoomModal.addRow);
|
||||
$(document).on('click', '.remove-connected-room-row', initConnectedRoomModal.removeRow);
|
||||
$(document).on('change', '.connect-room-type', initConnectedRoomModal.showNotConnectedRooms);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
{**
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/license/osl-3-0-php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to support@qloapps.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade this module to a newer
|
||||
* versions in the future. If you wish to customize this module for your needs
|
||||
* please refer to https://store.webkul.com/customisation-guidelines for more information.
|
||||
*
|
||||
* @author Webkul IN
|
||||
* @copyright Since 2010 Webkul
|
||||
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
|
||||
*}
|
||||
{if isset($htl_connected_rooms) && $htl_connected_rooms|@count > 0}
|
||||
<span class="connected-room-tooltip-trigger"
|
||||
data-connected-details='{json_encode($htl_connected_rooms.connected_room_types)|escape:'html':'UTF-8'}'>
|
||||
<i class="icon-random" style="color: #008abd; cursor: pointer;"></i>
|
||||
</span>
|
||||
{/if}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
{literal}
|
||||
if (typeof window.initConnectedRoomTooltips === 'undefined') {
|
||||
window.initConnectedRoomTooltips = function() {
|
||||
if (typeof $.fn.tooltip === 'undefined' || typeof $.ui === 'undefined' || typeof $.ui.tooltip === 'undefined') {
|
||||
return;
|
||||
}
|
||||
$('.connected-room-tooltip-trigger').each(function() {
|
||||
if ($(this).data('ui-tooltip')) {
|
||||
return;
|
||||
}
|
||||
$(this).tooltip({
|
||||
items: '.connected-room-tooltip-trigger',
|
||||
content: function() {
|
||||
var details = $(this).data('connected-details');
|
||||
if (!details || $.isEmptyObject(details)) {
|
||||
return "{/literal}{l s='No rooms connected' js=1}{literal}";
|
||||
}
|
||||
var html = '<div class="tooltip_cont">';
|
||||
html += '<div class="tip_header"><div class="tip_date">{/literal}{l s="Connected Rooms" js=1}{literal}</div></div>';
|
||||
html += '<div class="tip-body tip-body-grid">';
|
||||
for (var typeId in details) {
|
||||
var group = details[typeId];
|
||||
var names = [];
|
||||
for (var i = 0; i < group.connected_rooms.length; i++) {
|
||||
names.push(group.connected_rooms[i].name);
|
||||
}
|
||||
html += '<div>';
|
||||
html += '<div class="tip_element_head">' + group.room_type_name + '</div>';
|
||||
html += '<div class="tip_element_value">' + names.join(', ') + '</div>';
|
||||
html += '</div>';
|
||||
}
|
||||
html += '</div></div>';
|
||||
return html;
|
||||
},
|
||||
position: { my: "left top+10", at: "left bottom", collision: "flipfit", within: "#content" },
|
||||
close: function(event, ui) {
|
||||
ui.tooltip.hover(function() {
|
||||
$(this).stop(true).fadeTo(300, 1);
|
||||
},
|
||||
function() {
|
||||
$(this).fadeOut('300', function() {
|
||||
$(this).remove();
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
}
|
||||
window.initConnectedRoomTooltips();
|
||||
{/literal}
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,140 @@
|
||||
{*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/license/osl-3-0-php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to support@qloapps.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade this module to a newer
|
||||
* versions in the future. If you wish to customize this module for your needs
|
||||
* please refer to https://store.webkul.com/customisation-guidelines for more information.
|
||||
*
|
||||
* @author Webkul IN
|
||||
* @copyright Since 2010 Webkul
|
||||
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
|
||||
*}
|
||||
<style>
|
||||
#connectedRoomModal .connected-rooms-table {
|
||||
table-layout: fixed;
|
||||
width: 100%;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#connectedRoomModal .modal-title .disable_dates_title {
|
||||
display: inline-block;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
#connectedRoomModal .modal-title .connected_room_num {
|
||||
color: grey;
|
||||
}
|
||||
|
||||
#connectedRoomModal .modal-title {
|
||||
line-height: 2;
|
||||
}
|
||||
|
||||
#connectedRoomModal .modal-title .close {
|
||||
line-height: 2;
|
||||
}
|
||||
|
||||
#connectedRoomModal .modal-body {
|
||||
max-height: 600px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
</style>
|
||||
<div class="modal-body">
|
||||
<input type="hidden" id="connected_room_main_id" name="main_room_id" value="{$main_room_id|intval}">
|
||||
{assign var="connected_room_types" value=[]}
|
||||
{if isset($htl_connected_rooms[$main_room_id].connected_room_types)}
|
||||
{assign var="connected_room_types" value=$htl_connected_rooms[$main_room_id].connected_room_types}
|
||||
{/if}
|
||||
<!-- connectedrooms list -->
|
||||
<div class="">
|
||||
<div class="">
|
||||
<div id="connected_rooms_list">
|
||||
<div id="connected_rooms_table_wrapper"
|
||||
class="{if $connected_room_types|@count == 0}hide{/if}">
|
||||
<table class="table table-bordered table-striped connected-rooms-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{l s='Room Type'}</th>
|
||||
<th>{l s='Connected Room'}</th>
|
||||
<th class="text-center">
|
||||
{l s='Action'}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="connected_rooms_tbody">
|
||||
{foreach from=$connected_room_types item=typeGroup}
|
||||
{foreach from=$typeGroup.connected_rooms item=room}
|
||||
<tr class="connected-room-row">
|
||||
<td>{$typeGroup.room_type_name|escape:'html':'UTF-8'}</td>
|
||||
<td>{$room.name|escape:'html':'UTF-8'}</td>
|
||||
<td class="text-center">
|
||||
<a href="javascript:void(0);"
|
||||
class="delete-connected-room btn btn-default"
|
||||
data-connected-id="{$room.id_connected_room|intval}"
|
||||
data-connected-room-id="{$room.id_room|intval}"
|
||||
title="{l s='Remove'}">
|
||||
<i class="icon-trash"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="list-empty {if $connected_room_types|@count > 0}hide{/if}"
|
||||
id="connected_rooms_empty_state">
|
||||
<div class="list-empty-msg">
|
||||
<i class="icon-warning-sign list-empty-icon"></i>
|
||||
{l s='No connected rooms.'}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{if isset($htl_not_connected_rooms) && $htl_not_connected_rooms|count > 0}
|
||||
<button type="button" id="add_connected_room_row" class="btn btn-default">
|
||||
<i class="icon-plus"></i> {l s='Add Connected Room'}
|
||||
</button>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{if isset($htl_not_connected_rooms) && $htl_not_connected_rooms|count > 0}
|
||||
<table class="hide">
|
||||
<tbody>
|
||||
<tr id="connected_room_add_template" class="connected-room-add-row hide">
|
||||
<td>
|
||||
<select class="form-control connect-room-type" name="connect_room_type">
|
||||
{foreach from=$htl_not_connected_rooms key=typeId item=typeGroup}
|
||||
<option value="{$typeGroup.id_room_type|intval}"
|
||||
{if $typeGroup.id_room_type == $current_roomtype}selected{/if}>
|
||||
{$typeGroup.name|escape:'html':'UTF-8'}
|
||||
</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<select class="form-control connect-room" name="connect_room">
|
||||
</select>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<button type="button" class="btn btn-default remove-connected-room-row"
|
||||
title="{l s='Remove'}">
|
||||
<i class="icon-trash"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary save-connected-room">
|
||||
{l s='Add'}
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
</div>
|
||||
@@ -1833,7 +1833,7 @@ class CartCore extends ObjectModel
|
||||
$this->id,
|
||||
[],
|
||||
0,
|
||||
isset($product['id_hotel_cart_booking']) ? $product['id_hotel_cart_booking'] : null,
|
||||
null,
|
||||
null,
|
||||
(int)$product['id_product'],
|
||||
null,
|
||||
@@ -1862,53 +1862,55 @@ class CartCore extends ObjectModel
|
||||
// by webkul to calculate rates of the product from hotelreservation syatem tables with feature prices....
|
||||
$totalPriceByProduct = 0;
|
||||
$priceDisplay = Group::getPriceDisplayMethod(Group::getCurrent()->id);
|
||||
foreach ($roomTypesByIdProduct as $key => $cartRoomInfo) {
|
||||
$occupancy = array(
|
||||
array(
|
||||
'adults' => $cartRoomInfo['adults'],
|
||||
'children' => $cartRoomInfo['children'],
|
||||
'child_ages' => json_decode($cartRoomInfo['child_ages'])
|
||||
)
|
||||
|
||||
if ($type == Cart::ADVANCE_PAYMENT || $type == Cart::ADVANCE_PAYMENT_ONLY_PRODUCTS) {
|
||||
// getProductMinAdvPaymentAmountByIdCart already aggregates all rooms for this product internally,
|
||||
// so call it once and add once — not inside the per-room loop.
|
||||
$advProductPrice = $objAdvPayment->getProductMinAdvPaymentAmountByIdCart(
|
||||
$this->id,
|
||||
$product['id_product'],
|
||||
0,
|
||||
0,
|
||||
$with_taxes
|
||||
);
|
||||
// get the real price of the room type
|
||||
$roomTotalPrice = HotelRoomTypeFeaturePricing::getRoomTypeTotalPrice(
|
||||
$cartRoomInfo['id_product'],
|
||||
$cartRoomInfo['date_from'],
|
||||
$cartRoomInfo['date_to'],
|
||||
$occupancy,
|
||||
Group::getCurrent()->id,
|
||||
$cartRoomInfo['id_cart'],
|
||||
$cartRoomInfo['id_guest'],
|
||||
$cartRoomInfo['id_room'],
|
||||
0
|
||||
);
|
||||
if ($with_taxes) {
|
||||
$totalPriceByProduct = $roomTotalPrice['total_price_tax_incl'];
|
||||
} else {
|
||||
$totalPriceByProduct = $roomTotalPrice['total_price_tax_excl'];
|
||||
}
|
||||
|
||||
// If customer has selected advance payment of the cart
|
||||
if ($type == Cart::ADVANCE_PAYMENT || $type == Cart::ADVANCE_PAYMENT_ONLY_PRODUCTS) {
|
||||
$advProductPrice = $objAdvPayment->getProductMinAdvPaymentAmountByIdCart(
|
||||
$this->id,
|
||||
$cartRoomInfo['id_product'],
|
||||
0,
|
||||
0,
|
||||
$with_taxes
|
||||
);
|
||||
|
||||
// set advance payment price only if it is greater than real price
|
||||
if ($advProductPrice < $totalPriceByProduct) {
|
||||
$totalPriceByProduct = $advProductPrice;
|
||||
}
|
||||
}
|
||||
|
||||
// Rounding as per configurations
|
||||
if ($ps_round_type == Order::ROUND_TOTAL) {
|
||||
$products_total[$id_tax_rules_group.'_'.$id_address] += Tools::processPriceRounding($totalPriceByProduct);
|
||||
$products_total[$id_tax_rules_group.'_'.$id_address] += Tools::processPriceRounding($advProductPrice);
|
||||
} else {
|
||||
$products_total[$id_tax_rules_group] += Tools::processPriceRounding($totalPriceByProduct);
|
||||
$products_total[$id_tax_rules_group] += Tools::processPriceRounding($advProductPrice);
|
||||
}
|
||||
} else {
|
||||
foreach ($roomTypesByIdProduct as $key => $cartRoomInfo) {
|
||||
$occupancy = array(
|
||||
array(
|
||||
'adults' => $cartRoomInfo['adults'],
|
||||
'children' => $cartRoomInfo['children'],
|
||||
'child_ages' => json_decode($cartRoomInfo['child_ages'])
|
||||
)
|
||||
);
|
||||
// get the real price of the room type
|
||||
$roomTotalPrice = HotelRoomTypeFeaturePricing::getRoomTypeTotalPrice(
|
||||
$cartRoomInfo['id_product'],
|
||||
$cartRoomInfo['date_from'],
|
||||
$cartRoomInfo['date_to'],
|
||||
$occupancy,
|
||||
Group::getCurrent()->id,
|
||||
$cartRoomInfo['id_cart'],
|
||||
$cartRoomInfo['id_guest'],
|
||||
$cartRoomInfo['id_room'],
|
||||
0
|
||||
);
|
||||
if ($with_taxes) {
|
||||
$totalPriceByProduct = $roomTotalPrice['total_price_tax_incl'];
|
||||
} else {
|
||||
$totalPriceByProduct = $roomTotalPrice['total_price_tax_excl'];
|
||||
}
|
||||
|
||||
// Rounding as per configurations
|
||||
if ($ps_round_type == Order::ROUND_TOTAL) {
|
||||
$products_total[$id_tax_rules_group.'_'.$id_address] += Tools::processPriceRounding($totalPriceByProduct);
|
||||
} else {
|
||||
$products_total[$id_tax_rules_group] += Tools::processPriceRounding($totalPriceByProduct);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ class ProfileCore extends ObjectModel
|
||||
public function add($autodate = true, $null_values = false)
|
||||
{
|
||||
if (parent::add($autodate, true)) {
|
||||
$result = Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'access (SELECT '.(int)$this->id.', id_tab, 0, 0, 0, 0 FROM '._DB_PREFIX_.'tab)');
|
||||
$result = Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'access (SELECT '.(int)$this->id.', id_tab, 0, 0, 0, 0, 0 FROM '._DB_PREFIX_.'tab)');
|
||||
$result &= Db::getInstance()->execute('
|
||||
INSERT INTO '._DB_PREFIX_.'module_access
|
||||
(`id_profile`, `id_module`, `configure`, `view`, `uninstall`)
|
||||
@@ -138,6 +138,7 @@ class ProfileCore extends ObjectModel
|
||||
'add' => 1,
|
||||
'edit' => 1,
|
||||
'delete' => 1,
|
||||
'kpi' => 1,
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@@ -151,6 +152,7 @@ class ProfileCore extends ObjectModel
|
||||
$result[$key]['delete'] = (int) $profileAccess['delete'];
|
||||
$result[$key]['add'] = (int) $profileAccess['add'];
|
||||
$result[$key]['edit'] = (int) $profileAccess['edit'];
|
||||
$result[$key]['kpi'] = (int) $profileAccess['kpi'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -367,12 +367,12 @@ class SpecificPriceCore extends ObjectModel
|
||||
`id_shop` '.self::formatIntInQuery(0, $id_shop).' AND
|
||||
`id_currency` '.self::formatIntInQuery(0, $id_currency).' AND
|
||||
`id_country` '.self::formatIntInQuery(0, $id_country).
|
||||
' AND `id_htl_cart_booking`='.(int)$id_htl_cart_booking.' '.
|
||||
' AND `id_htl_cart_booking` '.self::formatIntInQuery(0, $id_htl_cart_booking).' '.
|
||||
(Group::isFeatureActive() ? ' AND `id_group` '.self::formatIntInQuery(0, $id_group) : '').' '.$query_extra.'
|
||||
AND IF(`from_quantity` > 1, `from_quantity`, 0) <= ';
|
||||
|
||||
$query .= (Configuration::get('PS_QTY_DISCOUNT_ON_COMBINATION') || !$id_cart || !$real_quantity) ? (int)$quantity : max(1, (int)$real_quantity);
|
||||
$query .= ' ORDER BY `id_product_attribute` DESC, `from_quantity` DESC, `score` DESC, `to` DESC, `from` DESC';
|
||||
$query .= ' ORDER BY `id_htl_cart_booking` DESC, `id_product_attribute` DESC, `from_quantity` DESC, `score` DESC, `to` DESC, `from` DESC';
|
||||
|
||||
SpecificPrice::$_specificPriceCache[$key] = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($query);
|
||||
}
|
||||
|
||||
@@ -137,12 +137,12 @@ class TabCore extends ObjectModel
|
||||
}
|
||||
|
||||
/* Query definition */
|
||||
$query = 'REPLACE INTO `'._DB_PREFIX_.'access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`) VALUES ';
|
||||
$query .= '(1, '.(int)$id_tab.', 1, 1, 1, 1),';
|
||||
$query = 'REPLACE INTO `'._DB_PREFIX_.'access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`, `kpi`) VALUES ';
|
||||
$query .= '(1, '.(int)$id_tab.', 1, 1, 1, 1, 1),';
|
||||
|
||||
foreach ($profiles as $profile) {
|
||||
$rights = $profile['id_profile'] == $context->employee->id_profile ? 1 : 0;
|
||||
$query .= '('.(int)$profile['id_profile'].', '.(int)$id_tab.', '.(int)$rights.', '.(int)$rights.', '.(int)$rights.', '.(int)$rights.'),';
|
||||
$query .= '('.(int)$profile['id_profile'].', '.(int)$id_tab.', '.(int)$rights.', '.(int)$rights.', '.(int)$rights.', '.(int)$rights.', '.(int)$rights.'),';
|
||||
}
|
||||
$query = trim($query, ', ');
|
||||
return Db::getInstance()->execute($query);
|
||||
@@ -247,7 +247,7 @@ class TabCore extends ObjectModel
|
||||
* @return array tabs
|
||||
*/
|
||||
protected static $_cache_tabs = array();
|
||||
public static function getTabs($id_lang, $id_parent = null)
|
||||
public static function getTabs($id_lang, $id_parent = null, $include_kpi = false)
|
||||
{
|
||||
if (!isset(self::$_cache_tabs[$id_lang])) {
|
||||
self::$_cache_tabs[$id_lang] = array();
|
||||
@@ -274,10 +274,52 @@ class TabCore extends ObjectModel
|
||||
foreach (self::$_cache_tabs[$id_lang] as $array_parent) {
|
||||
$array_all = array_merge($array_all, $array_parent);
|
||||
}
|
||||
return $array_all;
|
||||
$tabs = $array_all;
|
||||
} else {
|
||||
$tabs = isset(self::$_cache_tabs[$id_lang][$id_parent]) ? self::$_cache_tabs[$id_lang][$id_parent] : array();
|
||||
}
|
||||
|
||||
return (isset(self::$_cache_tabs[$id_lang][$id_parent]) ? self::$_cache_tabs[$id_lang][$id_parent] : array());
|
||||
if ($include_kpi) {
|
||||
$hookKpiClasses = array();
|
||||
$hookRows = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
|
||||
SELECT DISTINCT SUBSTRING(h.`name`, 7, LENGTH(h.`name`) - 24) AS `class_name`
|
||||
FROM `'._DB_PREFIX_.'hook` h
|
||||
INNER JOIN `'._DB_PREFIX_.'hook_module` hm
|
||||
ON hm.`id_hook` = h.`id_hook`
|
||||
AND hm.`id_shop` = '.(int)Context::getContext()->shop->id.'
|
||||
INNER JOIN `'._DB_PREFIX_.'module` m
|
||||
ON m.`id_module` = hm.`id_module` AND m.`active` = 1
|
||||
WHERE h.`name` LIKE \'action%KPIListingModifier\''
|
||||
);
|
||||
if (is_array($hookRows)) {
|
||||
foreach ($hookRows as $row) {
|
||||
$hookKpiClasses[$row['class_name']] = true;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($tabs as &$tab) {
|
||||
if (!empty($tab['module'])) {
|
||||
$file = _PS_MODULE_DIR_.$tab['module'].'/controllers/admin/'.$tab['class_name'].'Controller.php';
|
||||
$class_name = $tab['class_name'].'Controller';
|
||||
} else {
|
||||
$file = _PS_CONTROLLER_DIR_.'admin/'.$tab['class_name'].'Controller.php';
|
||||
$class_name = $tab['class_name'].'ControllerCore';
|
||||
}
|
||||
if (file_exists($file) && !class_exists($class_name)) {
|
||||
require_once $file;
|
||||
}
|
||||
try {
|
||||
$objreflect = new ReflectionMethod($class_name, 'renderKpis');
|
||||
$tab['has_kpi'] = ($objreflect->getDeclaringClass()->getName() === $class_name)
|
||||
|| isset($hookKpiClasses[$tab['class_name']]);
|
||||
} catch (ReflectionException $e) {
|
||||
$tab['has_kpi'] = isset($hookKpiClasses[$tab['class_name']]);
|
||||
}
|
||||
}
|
||||
unset($tab);
|
||||
}
|
||||
|
||||
return $tabs;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2010,7 +2010,9 @@ class AdminControllerCore extends Controller
|
||||
}
|
||||
|
||||
if ($conf = Tools::getValue('conf')) {
|
||||
$this->context->smarty->assign('conf', $this->json ? json_encode($this->_conf[(int)$conf]) : $this->_conf[(int)$conf]);
|
||||
if (isset($this->_conf[$conf])) {
|
||||
$this->context->smarty->assign('conf', $this->json ? json_encode($this->_conf[(int)$conf]) : $this->_conf[(int)$conf]);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (array('errors', 'warnings', 'informations', 'confirmations') as $type) {
|
||||
@@ -2307,7 +2309,9 @@ class AdminControllerCore extends Controller
|
||||
$this->content .= $this->renderDetails();
|
||||
} elseif (!$this->ajax) {
|
||||
$this->content .= $this->renderModulesList();
|
||||
$this->content .= $this->renderKpis();
|
||||
if ($this->tabAccess['kpi'] === 1) {
|
||||
$this->content .= $this->renderKpis();
|
||||
}
|
||||
$this->content .= $this->renderList();
|
||||
$this->content .= $this->renderOptions();
|
||||
|
||||
|
||||
@@ -1905,7 +1905,15 @@ class OrderCore extends ObjectModel
|
||||
$order_payment_detail->id_order = $this->id;
|
||||
$order_payment_detail->id_order_payment = (int)$payment->id;
|
||||
$order_payment_detail->amount = $amount;
|
||||
$receipt_number = Configuration::get('PS_PAYMENT_RECEIPTS_START_NUMBER', null, null, $this->id_shop);
|
||||
// If payment start number has been set, you clean the value of this configuration
|
||||
if ($receipt_number) {
|
||||
Configuration::updateValue('PS_PAYMENT_RECEIPTS_START_NUMBER', false, false, null, $this->id_shop);
|
||||
}else{
|
||||
$receipt_number = OrderPaymentDetail::getLastPaymentReceiptNumber() + 1;
|
||||
}
|
||||
|
||||
$order_payment_detail->receipt_number = $receipt_number;
|
||||
if ($payment->id_currency == $this->id_currency) {
|
||||
$this->total_paid_real += $order_payment_detail->amount;
|
||||
} else {
|
||||
@@ -1935,6 +1943,8 @@ class OrderCore extends ObjectModel
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Returns the correct product taxes breakdown.
|
||||
*
|
||||
@@ -3148,4 +3158,26 @@ class OrderCore extends ObjectModel
|
||||
|
||||
return $totalOrder;
|
||||
}
|
||||
|
||||
public function getPaymentsTypes()
|
||||
{
|
||||
$module = Module::getInstanceByName('hotelreservationsystem');
|
||||
return array(
|
||||
OrderPayment::PAYMENT_TYPE_PAY_AT_HOTEL => array(
|
||||
'key' => 'PAYMENT_TYPE_PAY_AT_HOTEL',
|
||||
'value' => OrderPayment::PAYMENT_TYPE_PAY_AT_HOTEL,
|
||||
'name' => $module->l('Pay at hotel')
|
||||
),
|
||||
OrderPayment::PAYMENT_TYPE_ONLINE => array(
|
||||
'key' => 'PAYMENT_TYPE_ONLINE',
|
||||
'value' => OrderPayment::PAYMENT_TYPE_ONLINE,
|
||||
'name' => $module->l('Online')
|
||||
),
|
||||
OrderPayment::PAYMENT_TYPE_REMOTE_PAYMENT => array(
|
||||
'key' => 'PAYMENT_TYPE_REMOTE_PAYMENT',
|
||||
'value' => OrderPayment::PAYMENT_TYPE_REMOTE_PAYMENT,
|
||||
'name' => $module->l('Remote payment')
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,4 +159,5 @@ class OrderPaymentCore extends ObjectModel
|
||||
{
|
||||
return Db::getInstance()->getValue('SELECT (SUM(`amount` * `conversion_rate`) / SUM(`amount`)) FROM `'._DB_PREFIX_.'order_payment` WHERE `order_reference` = \''.pSQL($order_reference).'\' AND `id_currency` = '.(int)$idCurrency);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ class OrderPaymentDetailCore extends ObjectModel
|
||||
public $id_order_payment;
|
||||
public $id_order;
|
||||
public $amount;
|
||||
public $receipt_number;
|
||||
public $date_add;
|
||||
|
||||
public static $definition = array(
|
||||
@@ -35,6 +36,7 @@ class OrderPaymentDetailCore extends ObjectModel
|
||||
'id_order_payment' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
|
||||
'id_order' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
|
||||
'amount' => array('type' => self::TYPE_FLOAT, 'validate' => 'isNegativePrice', 'required' => true),
|
||||
'receipt_number' => array('type' => self::TYPE_INT, 'validate' => 'isGenericName', 'size' => 64),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
)
|
||||
);
|
||||
@@ -71,4 +73,49 @@ class OrderPaymentDetailCore extends ObjectModel
|
||||
WHERE oip.`id_order_invoice` = '.(int)$id_invoice
|
||||
);
|
||||
}
|
||||
|
||||
public static function getLastPaymentReceiptNumber()
|
||||
{
|
||||
$sql = 'SELECT MAX(`receipt_number`) FROM `'._DB_PREFIX_.'order_payment_detail`';
|
||||
if (Configuration::get('PS_PAYMENT_RECEIPTS_RESET')) {
|
||||
$sql .= ' WHERE DATE_FORMAT(`date_add`, "%Y") = '.(int)date('Y');
|
||||
}
|
||||
return Db::getInstance()->getValue($sql);
|
||||
}
|
||||
|
||||
public static function getPaymentDetailsByPaymentId($id_order_payment)
|
||||
{
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT *
|
||||
FROM `'._DB_PREFIX_.'order_payment_detail`
|
||||
WHERE `id_order_payment` = '.(int)$id_order_payment
|
||||
);
|
||||
}
|
||||
|
||||
public static function getByDateInterval($date_from, $date_to)
|
||||
{
|
||||
$payment_list = Db::getInstance()->executeS('
|
||||
SELECT DISTINCT opd.*
|
||||
FROM `'._DB_PREFIX_.'order_payment_detail` opd
|
||||
LEFT JOIN `'._DB_PREFIX_.'orders` o ON (o.`id_order` = opd.`id_order`)
|
||||
WHERE DATE_ADD(opd.`date_add`, INTERVAL -1 DAY) <= \''.pSQL($date_to).'\'
|
||||
AND opd.`date_add` >= \''.pSQL($date_from).'\'
|
||||
AND opd.`receipt_number` > 0
|
||||
'.Shop::addSqlRestriction(Shop::SHARE_ORDER, 'o').'
|
||||
ORDER BY opd.`date_add` ASC, opd.`id_order_payment_detail` ASC
|
||||
');
|
||||
|
||||
return ObjectModel::hydrateCollection('OrderPaymentDetail', $payment_list);
|
||||
}
|
||||
|
||||
public function getPaymentReceiptNumberFormated($id_lang, $id_shop = null)
|
||||
{
|
||||
$format = '%1$s%2$06d';
|
||||
|
||||
if (Configuration::get('PS_PAYMENT_RECEIPTS_USE_YEAR')) {
|
||||
$format = '%1$s%2$06d/%3$s';
|
||||
}
|
||||
|
||||
return sprintf($format, Configuration::get('PS_PAYMENT_RECEIPTS_PREFIX', (int)$id_lang, null, (int)$id_shop), $this->receipt_number, date('Y', strtotime($this->date_add)));
|
||||
}
|
||||
}
|
||||
|
||||
396
classes/pdf/HTMLTemplateBookingVoucher.php
Normal file
396
classes/pdf/HTMLTemplateBookingVoucher.php
Normal file
@@ -0,0 +1,396 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/license/osl-3.0-php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to support@qloapps.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade this module to a newer
|
||||
* versions in the future. If you wish to customize this module for your needs
|
||||
* please refer to https://store.webkul.com/customisation-guidelines for more information.
|
||||
*
|
||||
* @author Webkul IN
|
||||
* @copyright Since 2010 Webkul
|
||||
* @license https://opensource.org/license/osl-3.0-php Open Software License version 3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Builds and renders the Booking Voucher PDF for a given Order.
|
||||
* Data assembly follows the same inline pattern as HTMLTemplateInvoice::getContent().
|
||||
*/
|
||||
class HTMLTemplateBookingVoucherCore extends HTMLTemplate
|
||||
{
|
||||
/** @var Order */
|
||||
public $order;
|
||||
public $available_in_your_account = false;
|
||||
|
||||
/**
|
||||
* @param Order $order
|
||||
* @param Smarty $smarty
|
||||
*/
|
||||
public function __construct(Order $order, $smarty)
|
||||
{
|
||||
$this->order = $order;
|
||||
$this->smarty = $smarty;
|
||||
$this->date = Tools::displayDate(date('Y-m-d'));
|
||||
$this->title = sprintf(self::l('Booking Voucher - %s'), $this->order->reference);
|
||||
$this->shop = new Shop((int)$this->order->id_shop);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string HTML header
|
||||
*/
|
||||
public function getHeader()
|
||||
{
|
||||
$this->assignCommonHeaderData();
|
||||
$this->smarty->assign(array('header' => self::l('Booking Voucher')));
|
||||
|
||||
return $this->smarty->fetch($this->getTemplate('header'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Assembles all voucher data inline and renders the template.
|
||||
*
|
||||
* @return string HTML content
|
||||
*/
|
||||
public function getContent()
|
||||
{
|
||||
// --- Bookings ---
|
||||
$objHotelBookingDetail = new HotelBookingDetail();
|
||||
$bookings = $objHotelBookingDetail->getBookingDataByOrderId((int)$this->order->id);
|
||||
if (!is_array($bookings)) {
|
||||
$bookings = array();
|
||||
}
|
||||
|
||||
// --- Order state ---
|
||||
$orderState = $this->order->getCurrentStateFull((int)$this->order->id_lang);
|
||||
|
||||
// --- Hotel / property ---
|
||||
$objHotel = null;
|
||||
$idHotel = HotelBookingDetail::getIdHotelByIdOrder((int)$this->order->id);
|
||||
if ($idHotel) {
|
||||
$objHotel = new HotelBranchInformation((int)$idHotel, (int)$this->order->id_lang);
|
||||
if (!Validate::isLoadedObject($objHotel)) {
|
||||
$objHotel = null;
|
||||
}
|
||||
}
|
||||
|
||||
$hotelAddress = '';
|
||||
$paymentPolicy = '';
|
||||
$cancellationPolicy = '';
|
||||
|
||||
if ($objHotel) {
|
||||
$policies = is_array($objHotel->policies) ? '' : (string)$objHotel->policies;
|
||||
if ($policies) {
|
||||
$policyText = html_entity_decode($policies, ENT_QUOTES, 'UTF-8');
|
||||
$policyText = preg_replace('/<br\\s*\\/?>/i', "\n", $policyText);
|
||||
$policyText = strip_tags($policyText);
|
||||
$policyText = preg_replace("/[\r\n]+/", "\n", $policyText);
|
||||
$paymentPolicy = nl2br(trim($policyText));
|
||||
}
|
||||
|
||||
$objBranchRefundRules = new HotelBranchRefundRules();
|
||||
$refundRules = $objBranchRefundRules->getHotelRefundRules(
|
||||
(int)$objHotel->id, 0, 1, (int)$this->order->id_lang, 1
|
||||
);
|
||||
if (is_array($refundRules) && !empty($refundRules)) {
|
||||
$policyBlocks = array();
|
||||
foreach ($refundRules as $rule) {
|
||||
$ruleName = isset($rule['name']) ? trim(strip_tags($rule['name'])) : '';
|
||||
$ruleDescription = isset($rule['description']) ? trim($rule['description']) : '';
|
||||
if ($ruleName === '' && $ruleDescription === '') {
|
||||
continue;
|
||||
}
|
||||
$block = $ruleName !== '' ? '<strong>'.Tools::safeOutput($ruleName).'</strong>' : '';
|
||||
if ($ruleDescription !== '') {
|
||||
$block .= ($block !== '' ? ': ' : '').$ruleDescription;
|
||||
}
|
||||
$policyBlocks[] = $block;
|
||||
}
|
||||
if (!empty($policyBlocks)) {
|
||||
$cancellationPolicy = implode('<br /><br />', $policyBlocks);
|
||||
}
|
||||
}
|
||||
|
||||
if ($idHotelAddress = $objHotel->getHotelIdAddress()) {
|
||||
$objHotelAddress = new Address((int)$idHotelAddress);
|
||||
if (Validate::isLoadedObject($objHotelAddress)) {
|
||||
$objHotelAddress->firstname = $objHotel->hotel_name;
|
||||
$hotelAddress = AddressFormat::generateAddress(
|
||||
$objHotelAddress,
|
||||
array('avoid' => array('lastname')),
|
||||
'<br />',
|
||||
' '
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --- Rooms, services, occupancy ---
|
||||
$totalRooms = 0;
|
||||
$totalRoomNights = 0;
|
||||
$totalGuests = 0;
|
||||
$serviceGroups = array();
|
||||
$roomTypeRows = array();
|
||||
|
||||
foreach ($bookings as $booking) {
|
||||
$nights = (int)HotelHelper::getNumberOfDays($booking['date_from'], $booking['date_to']);
|
||||
if ($nights <= 0) {
|
||||
$nights = 1;
|
||||
}
|
||||
|
||||
$totalGuests += (int)$booking['adults'] + (int)$booking['children'];
|
||||
$totalRoomNights += $nights;
|
||||
$totalRooms++;
|
||||
|
||||
$dateFrom = ($booking['date_from'] && $booking['date_from'] !== '0000-00-00 00:00:00')
|
||||
? Tools::displayDate($booking['date_from'], null, false) : '--';
|
||||
$dateTo = ($booking['date_to'] && $booking['date_to'] !== '0000-00-00 00:00:00')
|
||||
? Tools::displayDate($booking['date_to'], null, false) : '--';
|
||||
|
||||
// Services for this booking
|
||||
$bookingServices = array();
|
||||
|
||||
$objBookingDemand = new HotelBookingDemands();
|
||||
$extraDemands = $objBookingDemand->getRoomTypeBookingExtraDemands(
|
||||
(int)$this->order->id, 0, 0, 0, 0, 0, 0, 0,
|
||||
(int)$booking['id'], (int)$booking['id_order_detail']
|
||||
);
|
||||
if (is_array($extraDemands)) {
|
||||
foreach ($extraDemands as $demand) {
|
||||
$bookingServices[] = array('name' => $demand['name'], 'quantity' => 1);
|
||||
}
|
||||
}
|
||||
|
||||
// Auto-added services bundled with room price (for cost calculation only)
|
||||
$objServiceProductOrderDetail = new ServiceProductOrderDetail();
|
||||
$autoAddedWithRoomPriceTaxExcl = (float)$objServiceProductOrderDetail->getRoomTypeServiceProducts(
|
||||
(int)$this->order->id, 0, 0,
|
||||
isset($booking['id_product']) ? (int)$booking['id_product'] : 0,
|
||||
isset($booking['date_from']) ? $booking['date_from'] : 0,
|
||||
isset($booking['date_to']) ? $booking['date_to'] : 0,
|
||||
isset($booking['id_room']) ? (int)$booking['id_room'] : 0,
|
||||
1, 0, 1, Product::PRICE_ADDITION_TYPE_WITH_ROOM
|
||||
);
|
||||
|
||||
// Additional services chosen by guest
|
||||
$additionalServices = $objServiceProductOrderDetail->getRoomTypeServiceProducts(
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, null, 0, (int)$booking['id']
|
||||
);
|
||||
if (isset($additionalServices[(int)$booking['id']]['additional_services'])) {
|
||||
foreach ($additionalServices[(int)$booking['id']]['additional_services'] as $service) {
|
||||
$bookingServices[] = array('name' => $service['name'], 'quantity' => (int)$service['quantity']);
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($bookingServices)) {
|
||||
$serviceGroups[] = array(
|
||||
'room_type_name' => isset($booking['room_type_name']) ? $booking['room_type_name'] : '',
|
||||
'check_in_date' => $dateFrom,
|
||||
'check_out_date' => $dateTo,
|
||||
'room_count' => $totalRooms,
|
||||
'services' => $bookingServices,
|
||||
);
|
||||
}
|
||||
|
||||
$roomTotalWithAutoServicesTaxExcl = (float)$booking['total_price_tax_excl'] + $autoAddedWithRoomPriceTaxExcl;
|
||||
|
||||
// Aggregate per room type + date range
|
||||
$roomTypeRowKey = implode('|', array(
|
||||
(int)$booking['id_order_detail'],
|
||||
isset($booking['room_type_name']) ? $booking['room_type_name'] : '',
|
||||
isset($booking['date_from']) ? $booking['date_from'] : '',
|
||||
isset($booking['date_to']) ? $booking['date_to'] : '',
|
||||
));
|
||||
|
||||
if (!isset($roomTypeRows[$roomTypeRowKey])) {
|
||||
$idOrderDetail = (int)$booking['id_order_detail'];
|
||||
$detailTaxes = $idOrderDetail ? OrderDetail::getTaxListStatic($idOrderDetail) : null;
|
||||
$orderDetailTaxLabel = self::l('No tax');
|
||||
if ($detailTaxes) {
|
||||
$taxTemp = array();
|
||||
foreach ($detailTaxes as $tax) {
|
||||
$objTax = new Tax($tax['id_tax']);
|
||||
$taxTemp[] = sprintf(self::l('%1$s%2$s%%'), $objTax->rate + 0, ' ');
|
||||
}
|
||||
$orderDetailTaxLabel = implode(', ', $taxTemp);
|
||||
}
|
||||
|
||||
$roomTypeRows[$roomTypeRowKey] = array(
|
||||
'room_type_name' => isset($booking['room_type_name']) ? $booking['room_type_name'] : '',
|
||||
'order_detail_tax_label' => $orderDetailTaxLabel,
|
||||
'rooms' => 0,
|
||||
'adults' => 0,
|
||||
'children' => 0,
|
||||
'nights' => $nights,
|
||||
'check_in_date' => $dateFrom,
|
||||
'check_out_date' => $dateTo,
|
||||
'unit_price_tax_excl' => 0,
|
||||
'total_price_tax_excl' => 0,
|
||||
);
|
||||
}
|
||||
|
||||
$roomTypeRows[$roomTypeRowKey]['rooms'] += 1;
|
||||
$roomTypeRows[$roomTypeRowKey]['adults'] += (int)$booking['adults'];
|
||||
$roomTypeRows[$roomTypeRowKey]['children'] += (int)$booking['children'];
|
||||
$roomTypeRows[$roomTypeRowKey]['total_price_tax_excl'] += $roomTotalWithAutoServicesTaxExcl;
|
||||
}
|
||||
|
||||
foreach ($roomTypeRows as &$roomTypeRow) {
|
||||
$denominator = (int)$roomTypeRow['nights'] * (int)$roomTypeRow['rooms'];
|
||||
if ($denominator > 0) {
|
||||
$roomTypeRow['unit_price_tax_excl'] = Tools::ps_round(
|
||||
$roomTypeRow['total_price_tax_excl'] / $denominator,
|
||||
6,
|
||||
$this->order->round_mode
|
||||
);
|
||||
}
|
||||
}
|
||||
unset($roomTypeRow);
|
||||
|
||||
$guestAddress = '';
|
||||
$guest = new Customer((int)$this->order->id_customer);
|
||||
|
||||
$addressId = (int)$this->order->id_address_invoice ?: (int)$this->order->id_address_delivery;
|
||||
if ($addressId) {
|
||||
$address = new Address($addressId);
|
||||
if (Validate::isLoadedObject($address)) {
|
||||
$guestAddress = AddressFormat::generateAddress($address, array(), '<br />', ' ');
|
||||
}
|
||||
}
|
||||
|
||||
if ($idCustomerGuestDetail = OrderCustomerGuestDetail::isCustomerGuestBooking((int)$this->order->id)) {
|
||||
$objGuest = new OrderCustomerGuestDetail((int)$idCustomerGuestDetail);
|
||||
if (Validate::isLoadedObject($objGuest)) {
|
||||
$guest = $objGuest;
|
||||
}
|
||||
}
|
||||
// --- Totals ---
|
||||
$objBookingDemand = new HotelBookingDemands();
|
||||
$totalDemandsPriceTE = (float)$objBookingDemand->getRoomTypeBookingExtraDemands(
|
||||
(int)$this->order->id, 0, 0, 0, 0, 1, 1, 0
|
||||
);
|
||||
$totalDemandsPriceTI = (float)$objBookingDemand->getRoomTypeBookingExtraDemands(
|
||||
(int)$this->order->id, 0, 0, 0, 0, 1, 1, 1
|
||||
);
|
||||
|
||||
$orderDetails = OrderDetail::getList((int)$this->order->id);
|
||||
$idsOrderDetail = is_array($orderDetails)
|
||||
? array_unique(array_map('intval', array_column($orderDetails, 'id_order_detail')))
|
||||
: array();
|
||||
|
||||
$footer = array(
|
||||
'room_price_tax_excl' => 0,
|
||||
'service_products_price_tax_excl' => 0,
|
||||
'additional_service_price_tax_excl' => 0,
|
||||
'total_convenience_fee_te' => 0,
|
||||
);
|
||||
$roomsCostTaxIncl = 0;
|
||||
$serviceProductsCostTaxIncl = 0;
|
||||
$additionalServicesCostTaxIncl = 0;
|
||||
$convenienceFeeTaxIncl = 0;
|
||||
|
||||
if (!empty($idsOrderDetail)) {
|
||||
$footer['room_price_tax_excl'] = $this->order->getTotalProductsWithoutTaxes(false, true, null, null, null, $idsOrderDetail) + $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 1, Product::PRICE_ADDITION_TYPE_WITH_ROOM, $idsOrderDetail);
|
||||
$roomsCostTaxIncl = $this->order->getTotalProductsWithTaxes(false, true, null, null, null, $idsOrderDetail) + $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 1, Product::PRICE_ADDITION_TYPE_WITH_ROOM, $idsOrderDetail);
|
||||
$footer['service_products_price_tax_excl'] = $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_STANDALONE, false, false, $idsOrderDetail) + $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_HOTEL_STANDALONE, false, false, $idsOrderDetail);
|
||||
$serviceProductsCostTaxIncl = $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_STANDALONE, false, false, $idsOrderDetail) + $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_HOTEL_STANDALONE, false, false, $idsOrderDetail);
|
||||
$footer['additional_service_price_tax_excl'] = $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 0, null, $idsOrderDetail) + $totalDemandsPriceTE;
|
||||
$additionalServicesCostTaxIncl = $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 0, null, $idsOrderDetail) + $totalDemandsPriceTI;
|
||||
$footer['total_convenience_fee_te'] = $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 1, Product::PRICE_ADDITION_TYPE_INDEPENDENT, $idsOrderDetail);
|
||||
$convenienceFeeTaxIncl = $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 1, Product::PRICE_ADDITION_TYPE_INDEPENDENT, $idsOrderDetail);
|
||||
}
|
||||
|
||||
$productDiscountsTaxIncl = (float)$this->order->total_discounts_tax_incl;
|
||||
foreach ($this->order->getCartRules() as $cartRule) {
|
||||
if (!empty($cartRule['free_shipping'])) {
|
||||
$productDiscountsTaxIncl -= (float)$this->order->total_shipping_tax_incl;
|
||||
}
|
||||
}
|
||||
if ($productDiscountsTaxIncl < 0) {
|
||||
$productDiscountsTaxIncl = 0;
|
||||
}
|
||||
|
||||
$footer['total_without_discount_te'] = $footer['room_price_tax_excl'] + $footer['total_convenience_fee_te'] + $footer['additional_service_price_tax_excl'] + $footer['service_products_price_tax_excl'];
|
||||
$totalWithoutDiscountTaxIncl = $roomsCostTaxIncl + $serviceProductsCostTaxIncl + $additionalServicesCostTaxIncl + $convenienceFeeTaxIncl;
|
||||
$footer['total_tax_without_discount'] = max(0, $totalWithoutDiscountTaxIncl - $footer['total_without_discount_te']);
|
||||
$grandTotal = max(0.0, $totalWithoutDiscountTaxIncl - $productDiscountsTaxIncl);
|
||||
$footer['product_discounts_tax_incl'] = $productDiscountsTaxIncl;
|
||||
$footer['total_paid_tax_incl'] = $grandTotal;
|
||||
$footer['amount_due'] = Tools::ps_round(
|
||||
max(0, $grandTotal - (float)$this->order->getTotalPaid()),
|
||||
_PS_PRICE_COMPUTE_PRECISION_,
|
||||
$this->order->round_mode
|
||||
);
|
||||
|
||||
$paymentMethods = array();
|
||||
$payments = $this->order->getOrderPaymentDetail();
|
||||
if (is_array($payments) && $payments) {
|
||||
foreach ($payments as $paymentDetail) {
|
||||
$method = isset($paymentDetail['payment_method']) ? trim($paymentDetail['payment_method']) : '';
|
||||
if (!$method) {
|
||||
$method = $this->order->payment;
|
||||
}
|
||||
$amount = isset($paymentDetail['real_paid_amount'])
|
||||
? (float)$paymentDetail['real_paid_amount']
|
||||
: (float)$paymentDetail['amount'];
|
||||
$idCurrency = isset($paymentDetail['id_currency'])
|
||||
? (int)$paymentDetail['id_currency']
|
||||
: (int)$this->order->id_currency;
|
||||
$paymentMethods[] = $method.': '.Tools::displayPrice($amount, $idCurrency);
|
||||
}
|
||||
}
|
||||
$paymentMethod = $paymentMethods ? implode('<br /><br /> ', $paymentMethods) : $this->order->payment;
|
||||
|
||||
$data = array(
|
||||
'order' => $this->order,
|
||||
'order_state' => $orderState,
|
||||
'booking_date' => Tools::displayDate($this->order->date_add, null, false),
|
||||
'issue_date' => Tools::displayDate(date('Y-m-d'), null, false),
|
||||
'hotel' => $objHotel,
|
||||
'hotel_address' => $hotelAddress,
|
||||
'guest' => $guest,
|
||||
'guest_address' => $guestAddress,
|
||||
'total_guests' => (int)$totalGuests,
|
||||
'total_rooms' => (int)$totalRooms,
|
||||
'total_room_nights' => (int)$totalRoomNights,
|
||||
'room_type_rows' => array_values($roomTypeRows),
|
||||
'service_groups' => $serviceGroups,
|
||||
'payment_method' => $paymentMethod,
|
||||
'footer' => $footer,
|
||||
'payment_policy' => $paymentPolicy,
|
||||
'cancellation_policy' => $cancellationPolicy,
|
||||
);
|
||||
|
||||
if (Tools::getValue('debug')) {
|
||||
die(json_encode($data));
|
||||
}
|
||||
$this->smarty->assign($data);
|
||||
|
||||
return $this->smarty->fetch($this->getTemplate('booking-voucher'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getBulkFilename()
|
||||
{
|
||||
return self::l('BookingVouchers').'.pdf';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getFilename()
|
||||
{
|
||||
return sprintf(self::l('BOOKING VOUCHER - Refrence No. #%s.pdf'), $this->order->reference);
|
||||
}
|
||||
}
|
||||
@@ -476,8 +476,32 @@ class HTMLTemplateInvoiceCore extends HTMLTemplate
|
||||
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['num_rm'] = 1;
|
||||
$fullDate = (isset($context->controller->show_full_date) && $context->controller->show_full_date && (date('Y-m-d', strtotime($data_v['date_from'])) == date('Y-m-d', strtotime($data_v['date_to'])))) ? true : false;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['data_form'] = Tools::displayDate($data_v['date_from'], null, $fullDate);
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['data_to'] = Tools::displayDate($data_v['date_to'], null, $fullDate);
|
||||
$display_date_from = $data_v['date_from'];
|
||||
$display_date_to = $data_v['date_to'];
|
||||
if ((int)$data_v['id_status'] === HotelBookingDetail::STATUS_CHECKED_OUT) {
|
||||
if ($data_v['check_in']) {
|
||||
$display_date_from = $data_v['check_in'];
|
||||
}
|
||||
if ($data_v['check_out']) {
|
||||
$display_date_to = $data_v['check_out'];
|
||||
}
|
||||
} elseif ((int)$data_v['id_status'] === HotelBookingDetail::STATUS_CHECKED_IN) {
|
||||
if ($data_v['check_in']) {
|
||||
$display_date_from = $data_v['check_in'];
|
||||
}
|
||||
if ($data_v['check_out_time']) {
|
||||
$display_date_to = date('Y-m-d', strtotime($data_v['date_to'])) . ' ' . date('H:i:s', strtotime($data_v['check_out_time']));
|
||||
}
|
||||
} else {
|
||||
if ($data_v['check_in_time']) {
|
||||
$display_date_from = date('Y-m-d', strtotime($data_v['date_from'])) . ' ' . date('H:i:s', strtotime($data_v['check_in_time']));
|
||||
}
|
||||
if ($data_v['check_out_time']) {
|
||||
$display_date_to = date('Y-m-d', strtotime($data_v['date_to'])) . ' ' . date('H:i:s', strtotime($data_v['check_out_time']));
|
||||
}
|
||||
}
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['data_form'] = Tools::displayDate($display_date_from, null, true);
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['data_to'] = Tools::displayDate($display_date_to, null, true);
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['num_days'] = $num_days;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['adults'] = $data_v['adults'];
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['children'] = $data_v['children'];
|
||||
|
||||
171
classes/pdf/HTMLTemplatePaymentReceipt.php
Normal file
171
classes/pdf/HTMLTemplatePaymentReceipt.php
Normal file
@@ -0,0 +1,171 @@
|
||||
<?php
|
||||
/**
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/license/osl-3-0-php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to support@qloapps.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade this module to a newer
|
||||
* versions in the future. If you wish to customize this module for your needs
|
||||
* please refer to https://store.webkul.com/customisation-guidelines for more information.
|
||||
*
|
||||
* @author Webkul IN
|
||||
* @copyright Since 2010 Webkul
|
||||
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* @since 1.5
|
||||
*/
|
||||
class HTMLTemplatePaymentReceiptCore extends HTMLTemplate
|
||||
{
|
||||
public $paymentReceipt;
|
||||
public $orderPayment;
|
||||
public $order;
|
||||
/**
|
||||
* @param OrderPaymentDetail $paymentReceipt
|
||||
* @param $smarty
|
||||
* @throws PrestaShopException
|
||||
*/
|
||||
public function __construct(OrderPaymentDetail $paymentReceipt, $smarty, $bulk_mode = false)
|
||||
{
|
||||
$this->paymentReceipt = $paymentReceipt;
|
||||
$this->smarty = $smarty;
|
||||
$this->date = Tools::displayDate($this->paymentReceipt->date_add);
|
||||
$id_lang = Context::getContext()->language->id;
|
||||
$this->orderPayment = new OrderPayment((int)$this->paymentReceipt->id_order_payment);
|
||||
if (!Validate::isLoadedObject($this->orderPayment)) {
|
||||
throw new PrestaShopException('Cannot load the payment associated with this payment receipt.');
|
||||
}
|
||||
|
||||
$this->order = new Order((int)$this->paymentReceipt->id_order);
|
||||
|
||||
if (!Validate::isLoadedObject($this->order)) {
|
||||
throw new PrestaShopException('Cannot load the order associated with this payment receipt.');
|
||||
}
|
||||
|
||||
$id_shop = (int)$this->order->id_shop;
|
||||
$this->shop = new Shop($id_shop);
|
||||
$this->orderPayment->amount = $this->paymentReceipt->amount;
|
||||
$this->title = $this->paymentReceipt->getPaymentReceiptNumberFormated($id_lang, $id_shop);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the template's HTML header
|
||||
*
|
||||
* @return string HTML header
|
||||
*/
|
||||
public function getHeader()
|
||||
{
|
||||
$this->assignCommonHeaderData();
|
||||
$this->smarty->assign(array(
|
||||
'header' => HTMLTemplatePaymentReceipt::l('Receipt'),
|
||||
));
|
||||
|
||||
return $this->smarty->fetch($this->getTemplate('header'));
|
||||
}
|
||||
|
||||
public function getFooter()
|
||||
{
|
||||
$shop_address = $this->getShopAddress();
|
||||
|
||||
$id_shop = (int)$this->shop->id;
|
||||
|
||||
$this->smarty->assign(array(
|
||||
'shop_address' => $shop_address,
|
||||
'shop_fax' => Configuration::get('PS_SHOP_FAX', null, null, $id_shop),
|
||||
'shop_phone' => Configuration::get('PS_SHOP_PHONE', null, null, $id_shop),
|
||||
'shop_email' => Configuration::get('PS_SHOP_EMAIL', null, null, $id_shop),
|
||||
'free_text' => Configuration::get('PS_PAYMENT_RECEIPTS_FREE_TEXT', (int)Context::getContext()->language->id, null, $id_shop)
|
||||
));
|
||||
|
||||
return $this->smarty->fetch($this->getTemplate('footer'));
|
||||
}
|
||||
|
||||
public function getContent()
|
||||
{
|
||||
$delivery_address = $invoice_address = new Address((int)$this->order->id_address_invoice);
|
||||
$formatted_invoice_address = AddressFormat::generateAddress($invoice_address, array(), '<br />', ' ');
|
||||
$formatted_delivery_address = '';
|
||||
|
||||
if ($this->order->id_address_delivery != $this->order->id_address_invoice) {
|
||||
$delivery_address = new Address((int)$this->order->id_address_delivery);
|
||||
$formatted_delivery_address = AddressFormat::generateAddress($delivery_address, array(), '<br />', ' ');
|
||||
}
|
||||
|
||||
$formattedHotelAddress = '';
|
||||
if (Module::isInstalled('hotelreservationsystem')) {
|
||||
if ($idHotel = HotelBookingDetail::getIdHotelByIdOrder($this->order->id)) {
|
||||
$objHotelBranchInfo = new HotelBranchInformation((int) $idHotel, Context::getContext()->language->id);
|
||||
$invoiceAddressPatternRules['avoid'][] = 'lastname';
|
||||
if ($idHotelAddress = $objHotelBranchInfo->getHotelIdAddress()) {
|
||||
$objHotelAddress = new Address((int) $idHotelAddress);
|
||||
$objHotelAddress->firstname = $objHotelBranchInfo->hotel_name;
|
||||
$formattedHotelAddress = AddressFormat::generateAddress($objHotelAddress, $invoiceAddressPatternRules, '<br />', ' ');
|
||||
}
|
||||
}
|
||||
}
|
||||
$customer = new Customer((int)$this->order->id_customer);
|
||||
$getPaymentTypes = $this->order->getPaymentsTypes();
|
||||
$this->orderPayment->payment_type = isset($getPaymentTypes[$this->orderPayment->payment_type]) ? $getPaymentTypes[$this->orderPayment->payment_type] : null;
|
||||
|
||||
$legal_free_text = Configuration::get('PS_PAYMENT_RECEIPTS_LEGAL_FREE_TEXT', (int)Context::getContext()->language->id, null, (int)$this->order->id_shop);
|
||||
|
||||
$this->smarty->assign(array(
|
||||
'order' => $this->order,
|
||||
'payment_list' => array($this->orderPayment),
|
||||
'delivery_address' => $formatted_delivery_address,
|
||||
'invoice_address' => $formatted_invoice_address,
|
||||
'addresses' => array('invoice' => $invoice_address, 'delivery' => $delivery_address),
|
||||
'customer' => $customer,
|
||||
'hotel_address' => $formattedHotelAddress,
|
||||
'legal_free_text' => $legal_free_text,
|
||||
));
|
||||
|
||||
$smarty_tpls = array(
|
||||
'style_tab' => $this->smarty->fetch($this->getTemplate('payment-receipt.style-tab')),
|
||||
'addresses_tab' => $this->smarty->fetch($this->getTemplate('payment-receipt.addresses-tab')),
|
||||
'payment_info_tab' => $this->smarty->fetch($this->getTemplate('payment-receipt.payment-info-tab')),
|
||||
);
|
||||
$this->smarty->assign($smarty_tpls);
|
||||
return $this->smarty->fetch($this->getTemplate('payment-receipt'));
|
||||
|
||||
}
|
||||
|
||||
public function getFilename()
|
||||
{
|
||||
return 'payment-receipt-'.sprintf('%06d', $this->paymentReceipt->id).'.pdf';
|
||||
}
|
||||
|
||||
public function getBulkFilename()
|
||||
{
|
||||
return 'payment-receipts.pdf';
|
||||
}
|
||||
|
||||
protected function getPaymentType($paymentType = null)
|
||||
{
|
||||
$paymentTypeName = null;
|
||||
switch ($paymentType) {
|
||||
case OrderPayment::PAYMENT_TYPE_PAY_AT_HOTEL:
|
||||
$paymentTypeName = HTMLTemplatePaymentReceipt::l('Pay at hotel');
|
||||
break;
|
||||
case OrderPayment::PAYMENT_TYPE_ONLINE:
|
||||
$paymentTypeName = HTMLTemplatePaymentReceipt::l('Online');
|
||||
break;
|
||||
case OrderPayment::PAYMENT_TYPE_REMOTE_PAYMENT:
|
||||
$paymentTypeName = HTMLTemplatePaymentReceipt::l('Remote payment');
|
||||
break;
|
||||
default:
|
||||
$paymentTypeName = null;
|
||||
break;
|
||||
}
|
||||
return $paymentTypeName;
|
||||
}
|
||||
}
|
||||
@@ -41,6 +41,8 @@ class PDFCore
|
||||
const TEMPLATE_ORDER_SLIP = 'OrderSlip';
|
||||
const TEMPLATE_DELIVERY_SLIP = 'DeliverySlip';
|
||||
const TEMPLATE_SUPPLY_ORDER_FORM = 'SupplyOrderForm';
|
||||
const TEMPLATE_BOOKING_VOUCHER = 'BookingVoucher';
|
||||
const TEMPLATE_PAYMENT_RECEIPT = 'PaymentReceipt';
|
||||
|
||||
/**
|
||||
* @param $objects
|
||||
|
||||
@@ -1,22 +1,52 @@
|
||||
{
|
||||
"require": {
|
||||
"php": ">=5.4 <8.0",
|
||||
"ext-simplexml": "*",
|
||||
"ext-curl": "*",
|
||||
"ext-gd": "*",
|
||||
"ext-zip": "*",
|
||||
"ext-soap": "*"
|
||||
},
|
||||
"name": "webkul/qloapps",
|
||||
"name": "qloapps/qloapps",
|
||||
"description": "QloApps is an Open-source and Free hotel reservation system and booking engine. With the help of QloApps, you can launch your hotel booking website without any cost and take & manage online bookings.",
|
||||
"type": "project",
|
||||
"homepage": "https://qloapps.com",
|
||||
"license": "OSL-3.0",
|
||||
"keywords": [
|
||||
"qloapps",
|
||||
"hospitality",
|
||||
"booking-engine",
|
||||
"hotel-booking-website",
|
||||
"hotel-management-system",
|
||||
"hotel-reservation-system",
|
||||
"property-management-system",
|
||||
"cms"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "webkul",
|
||||
"email": "support@qloapps.com"
|
||||
"name": "QloApps",
|
||||
"email": "support@qloapps.com",
|
||||
"homepage": "https://qloapps.com"
|
||||
},
|
||||
{
|
||||
"name": "QloApps Community",
|
||||
"homepage": "https://github.com/Qloapps/QloApps/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
"support": {
|
||||
"docs": "https://qloapps.com/docs/",
|
||||
"email": "support@qloapps.com",
|
||||
"forum": "https://forums.qloapps.com/",
|
||||
"source": "https://github.com/Qloapps/QloApps"
|
||||
},
|
||||
"require": {
|
||||
"php": ">8.0 <8.5",
|
||||
"ext-curl": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-gd": "*",
|
||||
"ext-mcrypt": "*",
|
||||
"ext-openssl": "*",
|
||||
"ext-pdo_mysql": "*",
|
||||
"ext-phar": "*",
|
||||
"ext-simplexml": "*",
|
||||
"ext-soap": "*",
|
||||
"ext-zip": "*"
|
||||
},
|
||||
"minimum-stability": "stable",
|
||||
"prefer-stable": true,
|
||||
"config": {
|
||||
"sort-packages": true
|
||||
}
|
||||
}
|
||||
@@ -18,8 +18,8 @@
|
||||
<meta meta_page="manufacturer" left="1" right="0"/>
|
||||
<meta meta_page="new-products" left="1" right="0"/>
|
||||
<meta meta_page="password" left="0" right="0"/>
|
||||
<meta meta_page="prices-drop" left="1" right="0"/>
|
||||
<meta meta_page="sitemap" left="1" right="0"/>
|
||||
<!-- <meta meta_page="prices-drop" left="1" right="0"/> -->
|
||||
<!-- <meta meta_page="sitemap" left="1" right="0"/> -->
|
||||
<meta meta_page="supplier" left="0" right="0"/>
|
||||
<meta meta_page="address" left="0" right="0"/>
|
||||
<meta meta_page="addresses" left="0" right="0"/>
|
||||
@@ -32,8 +32,8 @@
|
||||
<meta meta_page="order-follow" left="0" right="0"/>
|
||||
<meta meta_page="order-slip" left="0" right="0"/>
|
||||
<meta meta_page="order" left="0" right="0"/>
|
||||
<meta meta_page="search" left="1" right="0"/>
|
||||
<meta meta_page="stores" left="0" right="0"/>
|
||||
<!-- <meta meta_page="search" left="1" right="0"/> -->
|
||||
<!-- <meta meta_page="stores" left="0" right="0"/> -->
|
||||
<meta meta_page="order-opc" left="0" right="0"/>
|
||||
<meta meta_page="guest-tracking" left="0" right="0"/>
|
||||
<meta meta_page="order-confirmation" left="0" right="0"/>
|
||||
@@ -45,7 +45,6 @@
|
||||
<meta meta_page="module-bankwire-validation" left="0" right="0"/>
|
||||
<meta meta_page="module-bankwire-payment" left="0" right="0"/>
|
||||
<meta meta_page="module-cashondelivery-validation" left="0" right="0"/>
|
||||
<meta meta_page="module-blocknewsletter-verification" left="1" right="0"/>
|
||||
</metas>
|
||||
<modules>
|
||||
<module action="enable" name="blocknewsletter"/>
|
||||
|
||||
@@ -56,7 +56,7 @@ class AdminAccessControllerCore extends AdminController
|
||||
{
|
||||
$current_profile = (int)$this->getCurrentProfileId();
|
||||
$profiles = Profile::getProfiles($this->context->language->id);
|
||||
$tabs = Tab::getTabs($this->context->language->id);
|
||||
$tabs = Tab::getTabs($this->context->language->id, null, true);
|
||||
$accesses = array();
|
||||
foreach ($profiles as $profile) {
|
||||
$accesses[$profile['id_profile']] = Profile::getProfileAccesses($profile['id_profile']);
|
||||
@@ -214,7 +214,7 @@ class AdminAccessControllerCore extends AdminController
|
||||
|
||||
if (Tools::isSubmit('submitAddAccess')) {
|
||||
$perm = Tools::getValue('perm');
|
||||
if (!in_array($perm, array('view', 'add', 'edit', 'delete', 'all'))) {
|
||||
if (!in_array($perm, array('view', 'add', 'edit', 'delete', 'all', 'kpi'))) {
|
||||
throw new PrestaShopException('permission does not exist');
|
||||
}
|
||||
|
||||
|
||||
@@ -181,69 +181,85 @@ class AdminCartsControllerCore extends AdminController
|
||||
|
||||
public function renderKpis()
|
||||
{
|
||||
$time = time();
|
||||
$kpis = array();
|
||||
$objCart = new Cart(Tools::getValue('id_cart'));
|
||||
if (Validate::isLoadedObject($objCart)) {
|
||||
$currency = new Currency($objCart->id_currency);
|
||||
$summary = $objCart->getSummaryDetails();
|
||||
$tax_calculation_method = Group::getPriceDisplayMethod(Group::getCurrent()->id);
|
||||
$total_price = ($tax_calculation_method == PS_TAX_EXC)
|
||||
? $summary['total_price_without_tax']
|
||||
: $summary['total_price'];
|
||||
|
||||
$daysForConversionRate = Configuration::get('PS_KPI_CONVERSION_RATE_NB_DAYS');
|
||||
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-conversion-rate';
|
||||
$helper->icon = 'icon-sort-by-attributes-alt';
|
||||
//$helper->chart = true;
|
||||
$helper->color = 'color1';
|
||||
$helper->title = $this->l('Conversion Rate', null, null, false);
|
||||
if ($daysForConversionRate == 1) {
|
||||
$helper->subtitle = $daysForConversionRate.' '.$this->l('day', null, null, false);
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-kpi-cart';
|
||||
$helper->icon = 'icon-shopping-cart';
|
||||
$helper->color = 'color1';
|
||||
$helper->title = $this->l('Total Cart', null, null, false);
|
||||
$helper->subtitle = sprintf($this->l('Cart #%06d', null, null, false), $objCart->id);
|
||||
$helper->value = Tools::displayPrice($total_price, $currency);
|
||||
$this->kpis[] = $helper;
|
||||
} else {
|
||||
$helper->subtitle = $daysForConversionRate.' '.$this->l('days', null, null, false);
|
||||
}
|
||||
if (ConfigurationKPI::get('CONVERSION_RATE_CHART') !== false) {
|
||||
$helper->data = ConfigurationKPI::get('CONVERSION_RATE_CHART');
|
||||
}
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=conversion_rate';
|
||||
$this->kpis[] = $helper;
|
||||
$daysForConversionRate = Configuration::get('PS_KPI_CONVERSION_RATE_NB_DAYS');
|
||||
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-carts';
|
||||
$helper->icon = 'icon-shopping-cart';
|
||||
$helper->color = 'color2';
|
||||
$helper->title = $this->l('Abandoned Carts', null, null, false);
|
||||
$date_from = date(Context::getContext()->language->date_format_lite, strtotime('-2 day'));
|
||||
$date_to = date(Context::getContext()->language->date_format_lite, strtotime('-1 day'));
|
||||
$helper->subtitle = sprintf($this->l('From %s to %s', null, null, false), $date_from, $date_to);
|
||||
$helper->href = $this->context->link->getAdminLink('AdminCarts').'&action=filterOnlyAbandonedCarts&date_from='.date('Y-m-d', strtotime('-2 day')).'&date_to='.date('Y-m-d', strtotime('-1 day'));
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=abandoned_cart';
|
||||
$this->kpis[] = $helper;
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-conversion-rate';
|
||||
$helper->icon = 'icon-sort-by-attributes-alt';
|
||||
//$helper->chart = true;
|
||||
$helper->color = 'color1';
|
||||
$helper->title = $this->l('Conversion Rate', null, null, false);
|
||||
if ($daysForConversionRate == 1) {
|
||||
$helper->subtitle = $daysForConversionRate.' '.$this->l('day', null, null, false);
|
||||
} else {
|
||||
$helper->subtitle = $daysForConversionRate.' '.$this->l('days', null, null, false);
|
||||
}
|
||||
if (ConfigurationKPI::get('CONVERSION_RATE_CHART') !== false) {
|
||||
$helper->data = ConfigurationKPI::get('CONVERSION_RATE_CHART');
|
||||
}
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=conversion_rate';
|
||||
$this->kpis[] = $helper;
|
||||
|
||||
$daysForAvgOrderVal = Configuration::get('PS_ORDER_KPI_AVG_ORDER_VALUE_NB_DAYS');
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-average-order';
|
||||
$helper->icon = 'icon-money';
|
||||
$helper->color = 'color3';
|
||||
$helper->title = $this->l('Average Order Value', null, null, false);
|
||||
if ($daysForAvgOrderVal == 1) {
|
||||
$helper->subtitle = $daysForAvgOrderVal.' '.$this->l('day', null, null, false);
|
||||
} else {
|
||||
$helper->subtitle = $daysForAvgOrderVal.' '.$this->l('days', null, null, false);
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-carts';
|
||||
$helper->icon = 'icon-shopping-cart';
|
||||
$helper->color = 'color2';
|
||||
$helper->title = $this->l('Abandoned Carts', null, null, false);
|
||||
$date_from = date(Context::getContext()->language->date_format_lite, strtotime('-2 day'));
|
||||
$date_to = date(Context::getContext()->language->date_format_lite, strtotime('-1 day'));
|
||||
$helper->subtitle = sprintf($this->l('From %s to %s', null, null, false), $date_from, $date_to);
|
||||
$helper->href = $this->context->link->getAdminLink('AdminCarts').'&action=filterOnlyAbandonedCarts&date_from='.date('Y-m-d', strtotime('-2 day')).'&date_to='.date('Y-m-d', strtotime('-1 day'));
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=abandoned_cart';
|
||||
$this->kpis[] = $helper;
|
||||
|
||||
$daysForAvgOrderVal = Configuration::get('PS_ORDER_KPI_AVG_ORDER_VALUE_NB_DAYS');
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-average-order';
|
||||
$helper->icon = 'icon-money';
|
||||
$helper->color = 'color3';
|
||||
$helper->title = $this->l('Average Order Value', null, null, false);
|
||||
if ($daysForAvgOrderVal == 1) {
|
||||
$helper->subtitle = $daysForAvgOrderVal.' '.$this->l('day', null, null, false);
|
||||
} else {
|
||||
$helper->subtitle = $daysForAvgOrderVal.' '.$this->l('days', null, null, false);
|
||||
}
|
||||
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=average_order_value';
|
||||
$this->kpis[] = $helper;
|
||||
|
||||
$daysForProfitPerVisitor = Configuration::get('PS_ORDER_KPI_PER_VISITOR_PROFIT_NB_DAYS');
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-net-profit-visitor';
|
||||
$helper->icon = 'icon-user';
|
||||
$helper->color = 'color4';
|
||||
$helper->title = $this->l('Net Profit per Visitor', null, null, false);
|
||||
if ($daysForProfitPerVisitor == 1) {
|
||||
$helper->subtitle = $daysForProfitPerVisitor.' '.$this->l('day', null, null, false);
|
||||
} else {
|
||||
$helper->subtitle = $daysForProfitPerVisitor.' '.$this->l('days', null, null, false);
|
||||
}
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=netprofit_visit';
|
||||
$this->kpis[] = $helper;
|
||||
}
|
||||
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=average_order_value';
|
||||
$this->kpis[] = $helper;
|
||||
|
||||
$daysForProfitPerVisitor = Configuration::get('PS_ORDER_KPI_PER_VISITOR_PROFIT_NB_DAYS');
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-net-profit-visitor';
|
||||
$helper->icon = 'icon-user';
|
||||
$helper->color = 'color4';
|
||||
$helper->title = $this->l('Net Profit per Visitor', null, null, false);
|
||||
if ($daysForProfitPerVisitor == 1) {
|
||||
$helper->subtitle = $daysForProfitPerVisitor.' '.$this->l('day', null, null, false);
|
||||
} else {
|
||||
$helper->subtitle = $daysForProfitPerVisitor.' '.$this->l('days', null, null, false);
|
||||
}
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=netprofit_visit';
|
||||
$this->kpis[] = $helper;
|
||||
|
||||
return parent::renderKpis();
|
||||
}
|
||||
|
||||
@@ -254,6 +270,9 @@ class AdminCartsControllerCore extends AdminController
|
||||
if (!($cart = $this->loadObject(true))) {
|
||||
return;
|
||||
}
|
||||
if ($this->tabAccess['kpi'] === 1) {
|
||||
$this->content .= $this->renderKpis();
|
||||
}
|
||||
$customer = new Customer($cart->id_customer);
|
||||
$currency = new Currency($cart->id_currency);
|
||||
$this->context->cart = $cart;
|
||||
@@ -340,16 +359,6 @@ class AdminCartsControllerCore extends AdminController
|
||||
$cartHtlData = array();
|
||||
}
|
||||
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-kpi-cart';
|
||||
$helper->icon = 'icon-shopping-cart';
|
||||
$helper->color = 'color1';
|
||||
$helper->title = $this->l('Total Cart', null, null, false);
|
||||
$helper->subtitle = sprintf($this->l('Cart #%06d', null, null, false), $cart->id);
|
||||
$helper->value = Tools::displayPrice($total_price, $currency);
|
||||
$kpi = $helper->generate();
|
||||
//end
|
||||
|
||||
// get standalone products in cart
|
||||
$objServiceProductCartDetail = new ServiceProductCartDetail();
|
||||
$hotelProducts = $objServiceProductCartDetail->getServiceProductsInCart(
|
||||
@@ -381,7 +390,6 @@ class AdminCartsControllerCore extends AdminController
|
||||
'cart_htl_data' => $cartHtlData,//by webkul hotel rooms in order data
|
||||
'standalone_products' => $standaloneProducts,
|
||||
'hotel_products' => $hotelProducts,
|
||||
'kpi' => $kpi,
|
||||
'products' => $products,
|
||||
'discounts' => $cart->getCartRules(),
|
||||
'cart_orders' => $cartOrders,
|
||||
@@ -1121,7 +1129,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
if ($bookingInfo['id'] == $idBookingData) {
|
||||
$amtWithQty = $bookingInfo['amt_with_qty'];
|
||||
$bookingInfo['amt_with_qty'] = Tools::displayPrice($amtWithQty);
|
||||
$bookingInfo['total_price'] = Tools::displayPrice($amtWithQty + $bookingInfo['demand_price']);
|
||||
$bookingInfo['total_price'] = Tools::displayPrice($amtWithQty + $bookingInfo['demand_price'] + $bookingInfo['additional_service_price'] + $bookingInfo['additional_services_auto_add_price']);
|
||||
$response = array(
|
||||
'curr_booking_info' => $bookingInfo,
|
||||
'cart_info' => $this->ajaxReturnVars(),
|
||||
|
||||
@@ -168,6 +168,10 @@ class AdminDashboardControllerCore extends AdminController
|
||||
return parent::renderOptions();
|
||||
}
|
||||
|
||||
if ($this->tabAccess['kpi'] === 1) {
|
||||
$this->content .= $this->renderKpis();
|
||||
}
|
||||
|
||||
// $translations = array(
|
||||
// 'Calendar' => $this->l('Calendar', 'AdminStatsTab'),
|
||||
// 'Day' => $this->l('Day', 'AdminStatsTab'),
|
||||
|
||||
@@ -391,12 +391,15 @@ class AdminOrdersControllerCore extends AdminController
|
||||
);
|
||||
}
|
||||
|
||||
$this->page_header_toolbar_btn['print'] = array(
|
||||
'short' => $this->l('Print'),
|
||||
'href' => 'javascript:window.print()',
|
||||
'desc' => $this->l('Print order'),
|
||||
'class' => 'icon-print',
|
||||
);
|
||||
if (HotelBookingDetail::getIdHotelByIdOrder($order->id, false) && !$this->lite_display) {
|
||||
$this->page_header_toolbar_btn['booking_voucher'] = array(
|
||||
'short' => $this->l('Booking Voucher'),
|
||||
'href' => $this->context->link->getAdminLink('AdminPdf').'&submitAction=generateBookingVoucherPDF&id_order='.$order->id,
|
||||
'desc' => $this->l('View booking voucher'),
|
||||
'class' => 'icon-file-text',
|
||||
'target' => true,
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->tabAccess['edit'] === 1) {
|
||||
if (((int) $order->isReturnable())
|
||||
@@ -467,7 +470,9 @@ class AdminOrdersControllerCore extends AdminController
|
||||
}
|
||||
|
||||
$paymentTypes = array();
|
||||
foreach ($this->getPaymentsTypes() as $paymentType) {
|
||||
$objOrder = new Order();
|
||||
|
||||
foreach ($objOrder->getPaymentsTypes() as $paymentType) {
|
||||
if ($paymentType['value'] != OrderPayment::PAYMENT_TYPE_REMOTE_PAYMENT) {
|
||||
$paymentTypes[] = $paymentType;
|
||||
}
|
||||
@@ -682,7 +687,7 @@ class AdminOrdersControllerCore extends AdminController
|
||||
'order' => $objOrder,
|
||||
'currencies' => $currencies,
|
||||
'payment_methods' => $payment_methods,
|
||||
'payment_types' => $this->getPaymentsTypes(),
|
||||
'payment_types' => $objOrder->getPaymentsTypes(),
|
||||
'invoices_collection' => $objOrder->getInvoicesCollection(),
|
||||
'current_id_lang' => $this->context->language->id,
|
||||
)
|
||||
@@ -1344,6 +1349,8 @@ class AdminOrdersControllerCore extends AdminController
|
||||
parent::setMedia();
|
||||
|
||||
$this->addJqueryUI('ui.datepicker');
|
||||
$this->addJqueryUI('ui.tooltip', 'base', true);
|
||||
|
||||
$this->addJS(_PS_JS_DIR_.'vendor/d3.v3.min.js');
|
||||
|
||||
if ($this->display == 'view') {
|
||||
@@ -3214,7 +3221,9 @@ class AdminOrdersControllerCore extends AdminController
|
||||
return;
|
||||
}
|
||||
|
||||
$this->content .= $this->renderKpis();
|
||||
if ($this->tabAccess['kpi'] === 1) {
|
||||
$this->content .= $this->renderKpis();
|
||||
}
|
||||
|
||||
$customer = new Customer($order->id_customer);
|
||||
$carrier = new Carrier($order->id_carrier);
|
||||
@@ -3574,6 +3583,7 @@ class AdminOrdersControllerCore extends AdminController
|
||||
$order_detail_data[$key]['amt_with_qty_tax_incl'] = $value['total_price_tax_incl'];
|
||||
$order_detail_data[$key]['room_type_info'] = $objHotelRoomType->getRoomTypeInfoByIdProduct($value['id_product']);
|
||||
$order_detail_data[$key]['total_room_tax'] = $order_detail_data[$key]['total_room_price_ti'] - $order_detail_data[$key]['total_room_price_te'];
|
||||
$order_detail_data[$key]['connected_rooms'] = HotelConnectedRoom::getConnectedRooms($value['id_room'], null, null, (int) Context::getContext()->language->id);
|
||||
|
||||
if (isset($value['refund_info'])
|
||||
&& $value['refund_info']['refunded']
|
||||
@@ -3763,8 +3773,9 @@ class AdminOrdersControllerCore extends AdminController
|
||||
'invoices_collection' => $order->getInvoicesCollection(),
|
||||
'not_paid_invoices_collection' => $order->getNotPaidInvoicesCollection(),
|
||||
'payment_methods' => $payment_methods,
|
||||
'payment_types' => $this->getPaymentsTypes(),
|
||||
'payment_types' => $order->getPaymentsTypes(),
|
||||
'invoice_management_active' => Configuration::get('PS_INVOICE', null, null, $order->id_shop),
|
||||
'receipt_management_active' => Configuration::get('PS_PAYMENT_RECEIPTS', null, null, $order->id_shop),
|
||||
'display_warehouse' => (int)Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT'),
|
||||
'HOOK_CONTENT_ORDER' => Hook::exec(
|
||||
'displayAdminOrderContentOrder',
|
||||
@@ -7273,26 +7284,6 @@ class AdminOrdersControllerCore extends AdminController
|
||||
return $products;
|
||||
}
|
||||
|
||||
protected function getPaymentsTypes()
|
||||
{
|
||||
return array(
|
||||
OrderPayment::PAYMENT_TYPE_PAY_AT_HOTEL => array(
|
||||
'key' => 'PAYMENT_TYPE_PAY_AT_HOTEL',
|
||||
'value' => OrderPayment::PAYMENT_TYPE_PAY_AT_HOTEL,
|
||||
'name' => $this->l('Pay at hotel')
|
||||
),
|
||||
OrderPayment::PAYMENT_TYPE_ONLINE => array(
|
||||
'key' => 'PAYMENT_TYPE_ONLINE',
|
||||
'value' => OrderPayment::PAYMENT_TYPE_ONLINE,
|
||||
'name' => $this->l('Online')
|
||||
),
|
||||
OrderPayment::PAYMENT_TYPE_REMOTE_PAYMENT => array(
|
||||
'key' => 'PAYMENT_TYPE_REMOTE_PAYMENT',
|
||||
'value' => OrderPayment::PAYMENT_TYPE_REMOTE_PAYMENT,
|
||||
'name' => $this->l('Remote payment')
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OrderInvoice $order_invoice
|
||||
|
||||
192
controllers/admin/AdminPaymentReceiptsController.php
Normal file
192
controllers/admin/AdminPaymentReceiptsController.php
Normal file
@@ -0,0 +1,192 @@
|
||||
<?php
|
||||
/**
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/license/osl-3-0-php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to support@qloapps.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade this module to a newer
|
||||
* versions in the future. If you wish to customize this module for your needs
|
||||
* please refer to https://store.webkul.com/customisation-guidelines for more information.
|
||||
*
|
||||
* @author Webkul IN
|
||||
* @copyright Since 2010 Webkul
|
||||
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
|
||||
*/
|
||||
|
||||
class AdminPaymentReceiptsControllerCore extends AdminControllerCore
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->bootstrap = true;
|
||||
parent::__construct();
|
||||
$this->context = Context::getContext();
|
||||
$this->lang = false;
|
||||
$this->table = 'order_payment';
|
||||
|
||||
$this->fields_options = array(
|
||||
'general' => array(
|
||||
'title' => $this->l('Payment receipts options'),
|
||||
'fields' => array(
|
||||
'PS_PAYMENT_RECEIPTS' => array(
|
||||
'title' => $this->l('Enable Receipts'),
|
||||
'desc' => $this->l('If enabled, receipts will be generated for order payments.'),
|
||||
'cast' => 'intval',
|
||||
'type' => 'bool'
|
||||
),
|
||||
'PS_PAYMENT_RECEIPTS_PREFIX' => array(
|
||||
'title' => $this->l('Receipt prefix'),
|
||||
'desc' => $this->l('Prefix used for receipt name (e.g. #IN00001).'),
|
||||
'size' => 6,
|
||||
'type' => 'textLang'
|
||||
),
|
||||
'PS_PAYMENT_RECEIPTS_USE_YEAR' => array(
|
||||
'title' => $this->l('Add current year to receipt number'),
|
||||
'cast' => 'intval',
|
||||
'type' => 'bool'
|
||||
),
|
||||
'PS_PAYMENT_RECEIPTS_RESET' => array(
|
||||
'title' => $this->l('Reset Receipt progressive number at beginning of the year'),
|
||||
'cast' => 'intval',
|
||||
'type' => 'bool'
|
||||
),
|
||||
'PS_PAYMENT_RECEIPTS_START_NUMBER' => array(
|
||||
'title' => $this->l('Receipt number'),
|
||||
'desc' => sprintf($this->l('The next receipt will begin with this number, and then increase with each additional receipt. Set to 0 if you want to keep the current number (which is #%s).'), OrderPaymentDetail::getLastPaymentReceiptNumber() + 1),
|
||||
'size' => 6,
|
||||
'type' => 'text',
|
||||
'cast' => 'intval'
|
||||
),
|
||||
'PS_PAYMENT_RECEIPTS_LEGAL_FREE_TEXT' => array(
|
||||
'title' => $this->l('Legal free text'),
|
||||
'desc' => $this->l('Use this field to display additional text on your receipt, like specific legal information. It will appear below the payment methods summary.'),
|
||||
'size' => 50,
|
||||
'type' => 'textareaLang',
|
||||
),
|
||||
'PS_PAYMENT_RECEIPTS_FREE_TEXT' => array(
|
||||
'title' => $this->l('Footer text'),
|
||||
'desc' => $this->l('This text will appear at the bottom of the receipt, below your company details.'),
|
||||
'size' => 50,
|
||||
'type' => 'textLang',
|
||||
)
|
||||
),
|
||||
'submit' => array('title' => $this->l('Save'))
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function initContent()
|
||||
{
|
||||
$this->display = 'edit';
|
||||
$this->initTabModuleList();
|
||||
$this->initToolbar();
|
||||
$this->initPageHeaderToolbar();
|
||||
$this->table = 'order_payment';
|
||||
$this->content .= $this->initFormByDate();
|
||||
|
||||
$this->content .= $this->renderOptions();
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'content' => $this->content,
|
||||
'url_post' => self::$currentIndex.'&token='.$this->token,
|
||||
'show_page_header_toolbar' => $this->show_page_header_toolbar,
|
||||
'page_header_toolbar_title' => $this->page_header_toolbar_title,
|
||||
'page_header_toolbar_btn' => $this->page_header_toolbar_btn
|
||||
));
|
||||
}
|
||||
|
||||
public function initFormByDate()
|
||||
{
|
||||
$this->fields_form = array(
|
||||
'legend' => array(
|
||||
'title' => $this->l('By date'),
|
||||
'icon' => 'icon-calendar'
|
||||
),
|
||||
'input' => array(
|
||||
array(
|
||||
'type' => 'date',
|
||||
'label' => $this->l('From'),
|
||||
'name' => 'date_from',
|
||||
'maxlength' => 10,
|
||||
'required' => true,
|
||||
'hint' => $this->l('Format: 2011-12-31 (inclusive).')
|
||||
),
|
||||
array(
|
||||
'type' => 'date',
|
||||
'label' => $this->l('To'),
|
||||
'name' => 'date_to',
|
||||
'maxlength' => 10,
|
||||
'required' => true,
|
||||
'hint' => $this->l('Format: 2012-12-31 (inclusive).')
|
||||
)
|
||||
),
|
||||
'submit' => array(
|
||||
'title' => $this->l('Generate PDF file by date'),
|
||||
'id' => 'submitPrint',
|
||||
'icon' => 'process-icon-download-alt'
|
||||
)
|
||||
);
|
||||
|
||||
$this->fields_value = array(
|
||||
'date_from' => date('Y-m-d'),
|
||||
'date_to' => date('Y-m-d')
|
||||
);
|
||||
|
||||
$this->table = 'order_payment';
|
||||
$this->show_toolbar = false;
|
||||
$this->show_form_cancel_button = false;
|
||||
$this->toolbar_title = $this->l('Print PDF invoices');
|
||||
return parent::renderForm();
|
||||
}
|
||||
|
||||
public function initToolbarTitle()
|
||||
{
|
||||
$this->toolbar_title = array_unique($this->breadcrumbs);
|
||||
}
|
||||
|
||||
public function initPageHeaderToolbar()
|
||||
{
|
||||
parent::initPageHeaderToolbar();
|
||||
unset($this->page_header_toolbar_btn['cancel']);
|
||||
}
|
||||
|
||||
public function postProcess()
|
||||
{
|
||||
if(Tools::isSubmit('submitAddorder_payment')) {
|
||||
if (!Validate::isDate(Tools::getValue('date_from'))) {
|
||||
$this->errors[] = $this->l('Invalid "From" date');
|
||||
}
|
||||
|
||||
if (!Validate::isDate(Tools::getValue('date_to'))) {
|
||||
$this->errors[] = $this->l('Invalid "To" date');
|
||||
}
|
||||
if(Tools::getValue('date_from') > Tools::getValue('date_to')) {
|
||||
$this->errors[] = $this->l('"From" date must be earlier than "To" date');
|
||||
}
|
||||
if (!count($this->errors)) {
|
||||
if (count(OrderPaymentDetail::getByDateInterval(Tools::getValue('date_from'), Tools::getValue('date_to')))) {
|
||||
Tools::redirectAdmin($this->context->link->getAdminLink('AdminPdf').'&submitAction=generatePaymentReceiptsPDF&date_from='.urlencode(Tools::getValue('date_from')).'&date_to='.urlencode(Tools::getValue('date_to')));
|
||||
}
|
||||
|
||||
$this->errors[] = $this->l('No payment receipt has been found for this period.');
|
||||
}
|
||||
}else{
|
||||
parent::postProcess();
|
||||
}
|
||||
}
|
||||
|
||||
public function beforeUpdateOptions()
|
||||
{
|
||||
if ((int)Tools::getValue('PS_PAYMENT_RECEIPTS_START_NUMBER') != 0 && (int)Tools::getValue('PS_PAYMENT_RECEIPTS_START_NUMBER') <= OrderPaymentDetail::getLastPaymentReceiptNumber()) {
|
||||
$this->errors[] = $this->l('Invalid receipt number.').OrderPaymentDetail::getLastPaymentReceiptNumber().')';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,6 +64,15 @@ class AdminPdfControllerCore extends AdminController
|
||||
}
|
||||
}
|
||||
|
||||
public function processGenerateBookingVoucherPDF()
|
||||
{
|
||||
if (Tools::isSubmit('id_order')) {
|
||||
$this->generateBookingVoucherPDFByIdOrder(Tools::getValue('id_order'));
|
||||
} else {
|
||||
die(Tools::displayError('The order ID is missing.'));
|
||||
}
|
||||
}
|
||||
|
||||
public function processGenerateOrderSlipPDF()
|
||||
{
|
||||
$order_slip = new OrderSlip((int)Tools::getValue('id_order_slip'));
|
||||
@@ -93,7 +102,6 @@ class AdminPdfControllerCore extends AdminController
|
||||
public function processGenerateInvoicesPDF()
|
||||
{
|
||||
$order_invoice_collection = OrderInvoice::getByDateInterval(Tools::getValue('date_from'), Tools::getValue('date_to'));
|
||||
|
||||
if (!count($order_invoice_collection)) {
|
||||
die(Tools::displayError('No invoice was found.'));
|
||||
}
|
||||
@@ -150,14 +158,38 @@ class AdminPdfControllerCore extends AdminController
|
||||
|
||||
$id_supply_order = (int)Tools::getValue('id_supply_order');
|
||||
$supply_order = new SupplyOrder($id_supply_order);
|
||||
|
||||
if (!Validate::isLoadedObject($supply_order)) {
|
||||
die(Tools::displayError('The supply order cannot be found within your database.'));
|
||||
}
|
||||
|
||||
$this->generatePDF($supply_order, PDF::TEMPLATE_SUPPLY_ORDER_FORM);
|
||||
}
|
||||
|
||||
public function processGeneratePaymentReceiptsPDF()
|
||||
{
|
||||
$order_payment_collection = OrderPaymentDetail::getByDateInterval(
|
||||
Tools::getValue('date_from'),
|
||||
Tools::getValue('date_to')
|
||||
);
|
||||
|
||||
if (!count($order_payment_collection)) {
|
||||
die(Tools::displayError('No payment receipt was found.'));
|
||||
}
|
||||
|
||||
$this->generatePDF($order_payment_collection, PDF::TEMPLATE_PAYMENT_RECEIPT);
|
||||
}
|
||||
|
||||
public function processGeneratePaymentReceipt()
|
||||
{
|
||||
$idOrderPaymentDetail = (int) Tools::getValue('id_order_payment_detail');
|
||||
$orderPaymentDetail = new OrderPaymentDetail($idOrderPaymentDetail);
|
||||
if (!Validate::isLoadedObject($orderPaymentDetail)) {
|
||||
die(Tools::displayError('The order payment detail cannot be found.'));
|
||||
}
|
||||
$this->generatePDF($orderPaymentDetail, PDF::TEMPLATE_PAYMENT_RECEIPT);
|
||||
}
|
||||
|
||||
|
||||
public function generateDeliverySlipPDFByIdOrder($id_order)
|
||||
{
|
||||
$order = new Order((int)$id_order);
|
||||
@@ -202,6 +234,23 @@ class AdminPdfControllerCore extends AdminController
|
||||
$this->generatePDF($order_invoice, PDF::TEMPLATE_INVOICE);
|
||||
}
|
||||
|
||||
public function generateBookingVoucherPDFByIdOrder($id_order)
|
||||
{
|
||||
$order = new Order((int)$id_order);
|
||||
if (!Validate::isLoadedObject($order)) {
|
||||
die(Tools::displayError('The order cannot be found within your database.'));
|
||||
}
|
||||
|
||||
$objHotelBookingDetail = new HotelBookingDetail();
|
||||
$bookingDetails = $objHotelBookingDetail->getBookingDataByOrderId((int)$order->id);
|
||||
if (empty($bookingDetails)) {
|
||||
die(Tools::displayError('No booking voucher is available for this order.'));
|
||||
}
|
||||
|
||||
$pdf = new PDF($order, PDF::TEMPLATE_BOOKING_VOUCHER, Context::getContext()->smarty);
|
||||
$pdf->render('I');
|
||||
}
|
||||
|
||||
public function generatePDF($object, $template)
|
||||
{
|
||||
$pdf = new PDF($object, $template, Context::getContext()->smarty);
|
||||
|
||||
@@ -1602,7 +1602,8 @@ class AdminProductsControllerCore extends AdminController
|
||||
) {
|
||||
$this->addJqueryUI(array(
|
||||
'ui.core',
|
||||
'ui.widget'
|
||||
'ui.widget',
|
||||
'ui.tooltip'
|
||||
));
|
||||
|
||||
$this->addjQueryPlugin(array(
|
||||
@@ -3160,6 +3161,7 @@ class AdminProductsControllerCore extends AdminController
|
||||
$disableDates = $objRoomDisableDates->getRoomDisableDates($room['id']);
|
||||
$room['disable_dates_json'] = json_encode($disableDates);
|
||||
}
|
||||
$room['connected_rooms_count'] = HotelConnectedRoom::getTotalConnectedRooms($room['id']);
|
||||
}
|
||||
|
||||
$data->assign('htl_room_info', $hotelRoomInfo);
|
||||
@@ -3787,6 +3789,7 @@ class AdminProductsControllerCore extends AdminController
|
||||
$this->errors[] = $this->l('This stay cannot be deleted as this stay contains future booking.');
|
||||
}
|
||||
if (empty($this->errors)) {
|
||||
$response['affected_rooms'] = HotelConnectedRoom::getTotalConnectedRooms(null, $idRoom);
|
||||
if ($objRoomInfo->delete()) {
|
||||
$response['success'] = true;
|
||||
} else {
|
||||
@@ -5513,7 +5516,9 @@ class AdminProductsControllerCore extends AdminController
|
||||
if (empty($this->errors)) {
|
||||
foreach ($roomsInfo as $roomInfo) {
|
||||
$objHotelRoomInfo = new HotelRoomInformation($roomInfo['id']);
|
||||
$objHotelRoomInfo->id_status = $roomInfo['id_status'];
|
||||
if (!empty($roomInfo['id_status'])) {
|
||||
$objHotelRoomInfo->id_status = $roomInfo['id_status'];
|
||||
}
|
||||
if (isset($roomInfo['floor']) && $roomInfo['floor'] != '') {
|
||||
$objHotelRoomInfo->floor = $roomInfo['floor'];
|
||||
}
|
||||
@@ -5714,4 +5719,102 @@ class AdminProductsControllerCore extends AdminController
|
||||
|
||||
return $tpl->fetch();
|
||||
}
|
||||
|
||||
public function ajaxProcessGetNotConnectedRooms()
|
||||
{
|
||||
$roomId = (int) Tools::getValue('room_id');
|
||||
$roomTypeId = (int) Tools::getValue('room_type_id');
|
||||
$allGroups = HotelConnectedRoom::getNotConnectedRooms($roomId, $this->context->language->id);
|
||||
$rooms = isset($allGroups[$roomTypeId]) ? $allGroups[$roomTypeId]['rooms'] : array();
|
||||
die(Tools::jsonEncode(['success' => true, 'rooms' => $rooms]));
|
||||
}
|
||||
|
||||
public function ajaxProcessInitConnectedRoomModal()
|
||||
{
|
||||
$response['hasError'] = 1;
|
||||
$roomId = (int) Tools::getValue('room_id');
|
||||
$objRoom = new HotelRoomInformation($roomId);
|
||||
$idProduct = (int) $objRoom->id_product;
|
||||
$idHotel = (int) $objRoom->id_hotel;
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'htl_connected_rooms' => HotelConnectedRoom::getConnectedRooms($roomId, null, null, $this->context->language->id),
|
||||
'htl_not_connected_rooms' => HotelConnectedRoom::getNotConnectedRooms($roomId, $this->context->language->id),
|
||||
'main_room_id' => $roomId,
|
||||
'current_roomtype' => $idProduct,
|
||||
));
|
||||
|
||||
$modal = array(
|
||||
'modal_id' => 'connectedRoomModal',
|
||||
'modal_class' => 'modal-md',
|
||||
'modal_title' => '<i class="icon-random"></i> '.$this->l('Connected Room').' <span id="connected_room_title" class="connected_room_num"></span>',
|
||||
'modal_content' => $this->context->smarty->fetch('controllers/products/modal-connected-rooms.tpl'),
|
||||
'modal_actions' => array(),
|
||||
);
|
||||
|
||||
$this->context->smarty->assign($modal);
|
||||
$response['hasError'] = 0;
|
||||
$response['modalHtml'] = $this->context->smarty->fetch('modal.tpl');
|
||||
|
||||
die(Tools::jsonEncode($response));
|
||||
}
|
||||
|
||||
public function ajaxProcessManageConnectedRoom()
|
||||
{
|
||||
if ($this->tabAccess['edit'] !== 1) {
|
||||
die(json_encode(['success' => false, 'message' => $this->l('You do not have permission to edit this.')]));
|
||||
}
|
||||
|
||||
$mode = Tools::getValue('mode');
|
||||
$roomId = (int) Tools::getValue('room_id');
|
||||
$connectedRoomId = (int) Tools::getValue('connected_room_id');
|
||||
$connectedId = (int) Tools::getValue('connected_id');
|
||||
$objRoom = new HotelRoomInformation($roomId);
|
||||
$idProduct = (int) $objRoom->id_product;
|
||||
$idHotel = (int) $objRoom->id_hotel;
|
||||
|
||||
if ($mode === 'add') {
|
||||
$connection = new HotelConnectedRoom();
|
||||
$connection->id_room = $roomId;
|
||||
$connection->id_room_connected = $connectedRoomId;
|
||||
if ($connection->add()) {
|
||||
$this->context->smarty->assign(array(
|
||||
'htl_connected_rooms' => HotelConnectedRoom::getConnectedRooms($roomId, null, null, $this->context->language->id),
|
||||
'htl_not_connected_rooms' => HotelConnectedRoom::getNotConnectedRooms($roomId, $this->context->language->id),
|
||||
'main_room_id' => $roomId,
|
||||
'current_roomtype' => $idProduct,
|
||||
));
|
||||
die(json_encode([
|
||||
'html' => $this->context->smarty->fetch('controllers/products/modal-connected-rooms.tpl'),
|
||||
'success' => true,
|
||||
'message' => $this->l('Room connected successfully.'),
|
||||
'connected_count' => HotelConnectedRoom::getTotalConnectedRooms($roomId),
|
||||
]));
|
||||
}
|
||||
die(json_encode(['success' => false, 'message' => $this->l('Failed to connect room.')]));
|
||||
}
|
||||
|
||||
if ($mode === 'delete') {
|
||||
if (!$connectedId) {
|
||||
die(json_encode(['success' => false, 'message' => $this->l('Invalid data.')]));
|
||||
}
|
||||
$objHotelConnectedRoom = new HotelConnectedRoom($connectedId);
|
||||
if ($objHotelConnectedRoom->delete()) {
|
||||
$this->context->smarty->assign(array(
|
||||
'htl_connected_rooms' => HotelConnectedRoom::getConnectedRooms($roomId, null, null, $this->context->language->id),
|
||||
'htl_not_connected_rooms' => HotelConnectedRoom::getNotConnectedRooms($roomId, $this->context->language->id),
|
||||
'main_room_id' => $roomId,
|
||||
'current_roomtype' => $idProduct,
|
||||
));
|
||||
die(json_encode([
|
||||
'success' => true,
|
||||
'html' => $this->context->smarty->fetch('controllers/products/modal-connected-rooms.tpl'),
|
||||
'message' => $this->l('Connected room removed successfully.'),
|
||||
'connected_count' => HotelConnectedRoom::getTotalConnectedRooms($roomId),
|
||||
]));
|
||||
}
|
||||
die(json_encode(['success' => false, 'message' => $this->l('Failed to remove connected room.')]));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -203,8 +203,8 @@ class OrderConfirmationControllerCore extends FrontController
|
||||
//// By webkul New way to calculate product prices with feature Prices
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['paid_unit_price_tax_excl'] = $data_v['total_price_tax_excl']/$num_days;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['paid_unit_price_tax_incl'] = $data_v['total_price_tax_incl']/$num_days;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['amount_tax_incl'] = $data_v['total_price_tax_incl']*$var_quant;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['amount_tax_excl'] = $data_v['total_price_tax_excl']*$var_quant;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['amount_tax_incl'] += $data_v['total_price_tax_incl'];
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['amount_tax_excl'] += $data_v['total_price_tax_excl'];
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['is_backorder'] = $data_v['is_back_order'];
|
||||
if ($data_v['is_back_order']) {
|
||||
$any_back_order = 1;
|
||||
|
||||
70
controllers/front/PdfBookingVoucherController.php
Normal file
70
controllers/front/PdfBookingVoucherController.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/license/osl-3.0-php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to support@qloapps.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade this module to a newer
|
||||
* versions in the future. If you wish to customize this module for your needs
|
||||
* please refer to https://store.webkul.com/customisation-guidelines for more information.
|
||||
*
|
||||
* @author Webkul IN
|
||||
* @copyright Since 2010 Webkul
|
||||
* @license https://opensource.org/license/osl-3.0-php Open Software License version 3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Serves the Booking Voucher PDF for a customer's own order.
|
||||
*/
|
||||
class PdfBookingVoucherControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'pdf-booking-voucher';
|
||||
protected $display_header = false;
|
||||
protected $display_footer = false;
|
||||
public $content_only = true;
|
||||
|
||||
/** @var Order */
|
||||
protected $order;
|
||||
|
||||
public function postProcess()
|
||||
{
|
||||
if (!$this->context->customer->isLogged() && !Tools::getValue('secure_key')) {
|
||||
Tools::redirect('index.php?controller=authentication&back=pdf-booking-voucher');
|
||||
}
|
||||
|
||||
$idOrder = (int)Tools::getValue('id_order');
|
||||
if (!Validate::isUnsignedId($idOrder)) {
|
||||
die(Tools::displayError('The booking voucher was not found.'));
|
||||
}
|
||||
|
||||
$order = new Order($idOrder);
|
||||
if (!Validate::isLoadedObject($order)) {
|
||||
die(Tools::displayError('The booking voucher was not found.'));
|
||||
}
|
||||
|
||||
$secureKey = Tools::getValue('secure_key');
|
||||
if ($secureKey) {
|
||||
if ($order->secure_key !== $secureKey) {
|
||||
die(Tools::displayError('The booking voucher was not found.'));
|
||||
}
|
||||
} elseif ($order->id_customer != (int)$this->context->customer->id) {
|
||||
die(Tools::displayError('The booking voucher was not found.'));
|
||||
}
|
||||
|
||||
$this->order = $order;
|
||||
}
|
||||
|
||||
public function display()
|
||||
{
|
||||
$pdf = new PDF($this->order, PDF::TEMPLATE_BOOKING_VOUCHER, $this->context->smarty);
|
||||
$pdf->render();
|
||||
}
|
||||
}
|
||||
@@ -150,7 +150,12 @@ class Datas
|
||||
'name' => 'newsletter',
|
||||
'default' => 1,
|
||||
'help' => 'Get news from QloApps',
|
||||
)
|
||||
),
|
||||
'enable_ssl' => array(
|
||||
'name' => 'ssl',
|
||||
'default' => 0,
|
||||
'help' => 'Enable SSL for QloApps',
|
||||
),
|
||||
);
|
||||
|
||||
protected $datas = array();
|
||||
|
||||
@@ -238,6 +238,7 @@ class InstallControllerConsoleProcess extends InstallControllerConsole
|
||||
'admin_lastname' => $this->datas->admin_lastname,
|
||||
'admin_password' => $this->datas->admin_password,
|
||||
'admin_email' => $this->datas->admin_email,
|
||||
'enable_ssl' => $this->datas->enable_ssl,
|
||||
'marketing_consent' => $this->datas->marketing_consent,
|
||||
'configuration_agrement' => true,
|
||||
'send_informations' => true,
|
||||
|
||||
@@ -8,6 +8,7 @@ CREATE TABLE `PREFIX_access` (
|
||||
`add` int(11) NOT NULL,
|
||||
`edit` int(11) NOT NULL,
|
||||
`delete` int(11) NOT NULL,
|
||||
`kpi` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id_profile`,`id_tab`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION;
|
||||
|
||||
@@ -1514,6 +1515,7 @@ CREATE TABLE `PREFIX_order_payment_detail` (
|
||||
`id_order_payment` INT(10) unsigned NOT NULL,
|
||||
`id_order` INT(10) unsigned NOT NULL,
|
||||
`amount` DECIMAL(10,2) NOT NULL,
|
||||
`receipt_number` INT(10) NOT NULL,
|
||||
`date_add` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`id_order_payment_detail`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION;
|
||||
|
||||
@@ -133,6 +133,9 @@
|
||||
</configuration>
|
||||
<configuration id="PS_INVOICE_PREFIX" name="PS_INVOICE_PREFIX">
|
||||
<value>#IN</value>
|
||||
</configuration>
|
||||
<configuration id="PS_PAYMENT_RECEIPTS_PREFIX" name="PS_PAYMENT_RECEIPTS_PREFIX">
|
||||
<value>#IN</value>
|
||||
</configuration>
|
||||
<configuration id="PS_INVCE_INVOICE_ADDR_RULES" name="PS_INVCE_INVOICE_ADDR_RULES">
|
||||
<value>{"avoid":[]}</value>
|
||||
@@ -152,6 +155,9 @@
|
||||
<configuration id="PS_INVOICE" name="PS_INVOICE">
|
||||
<value>1</value>
|
||||
</configuration>
|
||||
<configuration id="PS_PAYMENT_RECEIPTS" name="PS_PAYMENT_RECEIPTS">
|
||||
<value>1</value>
|
||||
</configuration>
|
||||
<configuration id="PS_PASSWD_TIME_BACK" name="PS_PASSWD_TIME_BACK">
|
||||
<value>360</value>
|
||||
</configuration>
|
||||
|
||||
@@ -32,14 +32,18 @@
|
||||
<page>password</page>
|
||||
<configurable>1</configurable>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop">
|
||||
<page>prices-drop</page>
|
||||
<configurable>1</configurable>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap">
|
||||
<page>sitemap</page>
|
||||
<configurable>1</configurable>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier">
|
||||
<page>supplier</page>
|
||||
<configurable>1</configurable>
|
||||
@@ -92,14 +96,18 @@
|
||||
<page>order</page>
|
||||
<configurable>1</configurable>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search">
|
||||
<page>search</page>
|
||||
<configurable>1</configurable>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores">
|
||||
<page>stores</page>
|
||||
<configurable>1</configurable>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc">
|
||||
<page>order-opc</page>
|
||||
<configurable>1</configurable>
|
||||
@@ -144,10 +152,12 @@
|
||||
<page>module-cashondelivery-validation</page>
|
||||
<configurable>0</configurable>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison">
|
||||
<page>products-comparison</page>
|
||||
<configurable>1</configurable>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="our-properties">
|
||||
<page>our-properties</page>
|
||||
<configurable>1</configurable>
|
||||
|
||||
@@ -102,6 +102,9 @@
|
||||
<tab id="Invoices" id_parent="Orders" active="1" hide_host_mode="0">
|
||||
<class_name>AdminInvoices</class_name>
|
||||
</tab>
|
||||
<tab id="Payment_Receipts" id_parent="Orders" active="1" hide_host_mode="0">
|
||||
<class_name>AdminPaymentReceipts</class_name>
|
||||
</tab>
|
||||
<!-- <tab id="Merchandise_Returns" id_parent="Orders" active="1" hide_host_mode="0">
|
||||
<class_name>AdminReturn</class_name>
|
||||
</tab> -->
|
||||
|
||||
@@ -39,9 +39,5 @@
|
||||
<theme_meta id="theme_meta_30" id_theme="1" id_meta="30" left_column="0" right_column="0"/>
|
||||
<theme_meta id="theme_meta_31" id_theme="1" id_meta="31" left_column="0" right_column="0"/>
|
||||
<theme_meta id="theme_meta_32" id_theme="1" id_meta="32" left_column="0" right_column="0"/>
|
||||
<theme_meta id="theme_meta_33" id_theme="1" id_meta="33" left_column="0" right_column="0"/>
|
||||
<theme_meta id="theme_meta_34" id_theme="1" id_meta="34" left_column="0" right_column="0"/>
|
||||
<theme_meta id="theme_meta_35" id_theme="1" id_meta="35" left_column="0" right_column="0"/>
|
||||
<theme_meta id="theme_meta_37" id_theme="1" id_meta="37" left_column="0" right_column="0"/>
|
||||
</entities>
|
||||
</entity_theme_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>A place where comfort and luxury are blended with nature!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id='index' id_shop='1'>
|
||||
<title>হোটেল প্রাইম</title>
|
||||
<description>এটি এমন একটি স্থান যেখানে আরাম এবং বিলাসিতা প্রকৃতির সাথে মিলিত হয়েছে!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='prices-drop' id_shop='1'>
|
||||
<title>মূল্য কমানো</title>
|
||||
<description>আমাদের বিশেষ পণ্য </description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='sitemap' id_shop='1'>
|
||||
<title>সাইট ম্যাপ </title>
|
||||
<description>ভুলে গেছেন? যা চান তা খুজুন </description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='supplier' id_shop='1'>
|
||||
<title>সরবরাহকারী </title>
|
||||
<description>সরবরাহকারির তালিকা </description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='search' id_shop='1'>
|
||||
<title>খোজ </title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='stores' id_shop='1'>
|
||||
<title>দোকান </title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='order-opc' id_shop='1'>
|
||||
<title>অর্ডার </title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>entrar-em-contato-conosco</url_rewrite>
|
||||
</meta>
|
||||
<meta id='index' id_shop='1'>
|
||||
<title>Hotel Prime</title>
|
||||
<description>Um lugar onde o conforto e o luxo se misturam com a natureza!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords>forgot, password, e-mail, new, reset</keywords>
|
||||
<url_rewrite>recuperar-senha</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='prices-drop' id_shop='1'>
|
||||
<title>Preços em queda</title>
|
||||
<description>Nossos produtos especiais</description>
|
||||
<keywords>special, prices drop</keywords>
|
||||
<url_rewrite>preços-em-queda</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='sitemap' id_shop='1'>
|
||||
<title>Mapa do site</title>
|
||||
<description>Perdido(a)? Encontre o que procura</description>
|
||||
<keywords>sitemap</keywords>
|
||||
<url_rewrite>mapa do site</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='supplier' id_shop='1'>
|
||||
<title>Fornecedores</title>
|
||||
<description>Lista de fornecedores</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>pedido</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='search' id_shop='1'>
|
||||
<title>Procurar</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>procurar</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='stores' id_shop='1'>
|
||||
<title>Lojas</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>lojas</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='order-opc' id_shop='1'>
|
||||
<title>Pedido</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>confirmação-do-pedido</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='products-comparison' id_shop='1'>
|
||||
<title>Comparação de produtos</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>comparação-de-produtos</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>napiste-nam</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>Místo, kde se komfort a luxus mísí s přírodou!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Slevy</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>slevy</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Mapa stránek</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>mapa-stranek</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Dodavatelé</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>objednavka</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Vyhledávání</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>vyhledavani</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Prodejny</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>prodejny</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Rychlá Objednávka</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>potvrzeni-objednavky</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Porovnání produktů</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>porovnani-produktu</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>kontaktieren-sie-uns</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>Ein Ort, an dem Komfort und Luxus mit der Natur verschmelzen!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords>vergessen, Kennwort, E-Mail, neu, Reset</keywords>
|
||||
<url_rewrite>kennwort-wiederherstellung</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Angebote</title>
|
||||
<description>Unsere Sonderangebote</description>
|
||||
<keywords>besonders, Angebote</keywords>
|
||||
<url_rewrite>angebote</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Verloren? Finden Sie, was Sie suchen</description>
|
||||
<keywords>sitemap</keywords>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Zulieferer</title>
|
||||
<description>Zuliefererliste</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>bestellung</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Suche</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>suche</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Shops</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>shops</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Bestellung</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>bestellbestatigung</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
<configuration id="PS_INVOICE_PREFIX">
|
||||
<value>#IN</value>
|
||||
</configuration>
|
||||
<configuration id="PS_PAYMENT_RECEIPTS_PREFIX" name="PS_PAYMENT_RECEIPTS_PREFIX">
|
||||
<value>#IN</value>
|
||||
</configuration>
|
||||
<configuration id="PS_DELIVERY_PREFIX">
|
||||
<value>#DE</value>
|
||||
</configuration>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>A place where comfort and luxury are blended with nature!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
<tab id="Attachments" name="Attachments"/>
|
||||
<tab id="Orders_1" name="Orders"/>
|
||||
<tab id="Invoices" name="Invoices"/>
|
||||
<tab id="Payment_Receipts" name="Payment Receipts"/>
|
||||
<!-- <tab id="Merchandise_Returns" name="Merchandise Returns"/> -->
|
||||
<tab id="Delivery_Slips" name="Delivery Slips"/>
|
||||
<tab id="Credit_Slips" name="Credit Slips"/>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contactanos</url_rewrite>
|
||||
</meta>
|
||||
<meta id='index' id_shop='1'>
|
||||
<title>Hotel Prime</title>
|
||||
<description>¡Un lugar donde el confort y el lujo se mezclan con la naturaleza!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords>contraseña, has olvidado, e-mail, nuevo, regeneración</keywords>
|
||||
<url_rewrite>recuperacion-contraseña</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='prices-drop' id_shop='1'>
|
||||
<title>Bajamos los precios</title>
|
||||
<description>Nuestros productos especiales</description>
|
||||
<keywords>promoción, reducción</keywords>
|
||||
<url_rewrite>bajamos-precios</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='sitemap' id_shop='1'>
|
||||
<title>Mapa del sitio web</title>
|
||||
<description>¿Estás perdido? Encuentra lo que buscas</description>
|
||||
<keywords>plan, sitio</keywords>
|
||||
<url_rewrite>mapa-web</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='supplier' id_shop='1'>
|
||||
<title>Proveedores</title>
|
||||
<description>Lista de proveedores</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>pedido</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='search' id_shop='1'>
|
||||
<title>Buscar</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>buscar</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='stores' id_shop='1'>
|
||||
<title>Tiendas</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>tiendas</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='order-opc' id_shop='1'>
|
||||
<title>Pedido</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>confirmacion-pedido</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='products-comparison' id_shop='1'>
|
||||
<title>Comparativa de productos</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>comparativa-productos</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>هتل پرایم</title>
|
||||
<description>مکانی که در آن راحتی و لوکس بودن با طبیعت ترکیب شدهاند!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>کاهش قیمت ها</title>
|
||||
<description>محصولات ویژه ما</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>نقشه سایت</title>
|
||||
<description>گمشده اید؟ آنچه را که به دنبالش هستید پیدا کنید</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>تامین کننده ها</title>
|
||||
<description>لیست تامین کننده ها</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>جستجو</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>مغازهها</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>سفارش</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>مقایسه محصولات</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>nous-contacter</url_rewrite>
|
||||
</meta>
|
||||
<meta id='index' id_shop='1'>
|
||||
<title>Hôtel Prime</title>
|
||||
<description>Un endroit où le confort et le luxe se mélangent avec la nature !</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>recuperation-mot-de-passe</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='prices-drop' id_shop='1'>
|
||||
<title>Promotions</title>
|
||||
<description>Nos promotions</description>
|
||||
<keywords/>
|
||||
<url_rewrite>promotions</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='sitemap' id_shop='1'>
|
||||
<title>Plan du site</title>
|
||||
<description>Vous êtes perdu ? Trouvez ce que vous cherchez</description>
|
||||
<keywords/>
|
||||
<url_rewrite>plan-site</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='supplier' id_shop='1'>
|
||||
<title>Fournisseurs</title>
|
||||
<description>Liste des fournisseurs</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>commande</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='search' id_shop='1'>
|
||||
<title>Recherche</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>recherche</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='stores' id_shop='1'>
|
||||
<title>Magasins</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>magasins</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='order-opc' id_shop='1'>
|
||||
<title>Commande</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>confirmation-commande</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='products-comparison' id_shop='1'>
|
||||
<title>Comparaison de produits</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>comparaison-produits</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>צור-קשר</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>מלון פריים</title>
|
||||
<description>מקום שבו נוחות ולוקסוס משתלבים עם הטבע!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>שחזור-סיסמה</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>ירידת מחירים</title>
|
||||
<description>מוצרים מיוחדים</description>
|
||||
<keywords/>
|
||||
<url_rewrite>ירידת-מחירים</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>מפת האתר</title>
|
||||
<description>אבוד ? מצא כאן את יעדך באתר</description>
|
||||
<keywords/>
|
||||
<url_rewrite>מפת-האתר</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>ספקים</title>
|
||||
<description>רשימת ספקים</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>הזמנה</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>חפש</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>חפש</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>חנויות</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>חנויות</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>הזמנה</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>אימות-הזמנה</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>השוואת מוצרים</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>השוואת-מוצרים</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>A place where comfort and luxury are blended with nature!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>A place where comfort and luxury are blended with nature!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>hubungi-kami</url_rewrite>
|
||||
</meta>
|
||||
<meta id='index' id_shop='1'>
|
||||
<title>Hotel Prime</title>
|
||||
<description>Tempat di mana kenyamanan dan kemewahan berpadu dengan alam!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords>forgot, password, e-mail, new, reset</keywords>
|
||||
<url_rewrite>lupa-password</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='prices-drop' id_shop='1'>
|
||||
<title>Turun harga</title>
|
||||
<description>Daftar produk diskon</description>
|
||||
<keywords>special, prices drop</keywords>
|
||||
<url_rewrite>turun-harga</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='sitemap' id_shop='1'>
|
||||
<title>Sitemap</title>
|
||||
<description>Tersesat ? Temukan yang anda cari</description>
|
||||
<keywords>sitemap</keywords>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='supplier' id_shop='1'>
|
||||
<title>Supplier</title>
|
||||
<description>Daftar supplier</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='search' id_shop='1'>
|
||||
<title>Cari</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>cari</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='stores' id_shop='1'>
|
||||
<title>Toko</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>toko</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='order-opc' id_shop='1'>
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>konfirmasi-pembelian</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contattarci</url_rewrite>
|
||||
</meta>
|
||||
<meta id='index' id_shop='1'>
|
||||
<title>Hotel Prime</title>
|
||||
<description>Un luogo dove il comfort e il lusso si mescolano con la natura!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords>dimenticato, password, e-mail, nuovo, reset</keywords>
|
||||
<url_rewrite>recupero-password</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='prices-drop' id_shop='1'>
|
||||
<title>Calo dei prezzi</title>
|
||||
<description>I nostri prodotti speciali</description>
|
||||
<keywords>speciali, riduzione prezzi</keywords>
|
||||
<url_rewrite>calo-prezzi</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='sitemap' id_shop='1'>
|
||||
<title>Mappa del sito</title>
|
||||
<description>Vi siete persi? Trovate quello che state cercando</description>
|
||||
<keywords>sitemap</keywords>
|
||||
<url_rewrite>mappa del sito</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='supplier' id_shop='1'>
|
||||
<title>Fornitori</title>
|
||||
<description>Elenco fornitori</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>ordine</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='search' id_shop='1'>
|
||||
<title>Ricerca</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>ricerca</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='stores' id_shop='1'>
|
||||
<title>Negozi</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>negozi</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='order-opc' id_shop='1'>
|
||||
<title>Ordine</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>conferma-ordine</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='products-comparison' id_shop='1'>
|
||||
<title>Confronto prodotti</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>confronto-prodotti</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>Vieta, kur komfortas ir prabanga dera su gamta!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>A place where comfort and luxury are blended with nature!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-met-ons-opnemen</url_rewrite>
|
||||
</meta>
|
||||
<meta id='index' id_shop='1'>
|
||||
<title>Hotel Prime</title>
|
||||
<description>Een plek waar comfort en luxe samengaan met de natuur!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords>forgot, password, e-mail, new, reset</keywords>
|
||||
<url_rewrite>wachtwoord-opvragen</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='prices-drop' id_shop='1'>
|
||||
<title>Prijsverlaging</title>
|
||||
<description>Onze speciale producten</description>
|
||||
<keywords>special, prices drop</keywords>
|
||||
<url_rewrite>prijs-verlaging</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='sitemap' id_shop='1'>
|
||||
<title>Sitemap</title>
|
||||
<description>De weg kwijt? Vinden wat u zoekt</description>
|
||||
<keywords>sitemap</keywords>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='supplier' id_shop='1'>
|
||||
<title>Leveranciers</title>
|
||||
<description>Lijst met leveranciers</description>
|
||||
@@ -132,18 +136,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>bestelling</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='search' id_shop='1'>
|
||||
<title>Zoeken</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>zoeken</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='stores' id_shop='1'>
|
||||
<title>Winkels</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>winkels</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='order-opc' id_shop='1'>
|
||||
<title>Bestelling</title>
|
||||
<description/>
|
||||
@@ -162,10 +170,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-bevestiging</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='products-comparison' id_shop='1'>
|
||||
<title>Productvergelijking</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>product-vergelijking</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>A place where comfort and luxury are blended with nature!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>kontakt</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>Miejsce, gdzie komfort i luksus łączą się z naturą!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords>przypomnienie, hasło, e-mail, nowy</keywords>
|
||||
<url_rewrite>odzyskiwanie-hasla</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Promocje</title>
|
||||
<description>Produkty w promocji</description>
|
||||
<keywords>promocje, specjalne, spadek ceny</keywords>
|
||||
<url_rewrite>promocje</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Mapa strony</title>
|
||||
<description>Zagubiłeś się? Znajdź to, czego szukasz!</description>
|
||||
<keywords>mapa strony</keywords>
|
||||
<url_rewrite>mapa-strony</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Dostawcy</title>
|
||||
<description>Lista dostawców</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>zamowienie</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Szukaj</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>szukaj</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>sklepy</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>sklepy</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Zamówienie</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>potwierdzenie-zamowienia</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contacte-nos</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>Um lugar onde o conforto e o luxo se misturam com a natureza!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords>esqueci-me, recuperar, palavra-passe, e-mail, nova, reset</keywords>
|
||||
<url_rewrite>recuperar-palavra-passe</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Promoção</title>
|
||||
<description>Os nossos produtos com descontos</description>
|
||||
<keywords>promoções, promoção, desconto, descontos</keywords>
|
||||
<url_rewrite>promocoes</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Mapa do site</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords>mapa do site</keywords>
|
||||
<url_rewrite>mapa-do-site</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Fornecedores</title>
|
||||
<description>Lista de Fornecedores</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>encomenda</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Pesquisa</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>pesquisa</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Lojas</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>lojas</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Encomenda Rápida</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>confirmacao-encomenda</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Comparação de Produtos</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>comparacao-de-produtos</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>nous-contacter</url_rewrite>
|
||||
</meta>
|
||||
<meta id='index' id_shop='1'>
|
||||
<title>Hôtel Prime</title>
|
||||
<description>Un endroit où le confort et le luxe se mêlent à la nature !</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>recuperation-mot-de-passe</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='prices-drop' id_shop='1'>
|
||||
<title>Promotions</title>
|
||||
<description>Nos promotions</description>
|
||||
<keywords/>
|
||||
<url_rewrite>promotions</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='sitemap' id_shop='1'>
|
||||
<title>Plan du site</title>
|
||||
<description>Vous êtes perdu ? Trouvez ce que vous cherchez</description>
|
||||
<keywords/>
|
||||
<url_rewrite>plan-site</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='supplier' id_shop='1'>
|
||||
<title>Fournisseurs</title>
|
||||
<description>Liste des fournisseurs</description>
|
||||
@@ -132,18 +136,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>commande</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='search' id_shop='1'>
|
||||
<title>Recherche</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>recherche</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id='stores' id_shop='1'>
|
||||
<title>Magasins</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>magasins</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id='order-opc' id_shop='1'>
|
||||
<title>Commande</title>
|
||||
<description/>
|
||||
@@ -162,10 +170,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>confirmation-commande</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id='products-comparison' id_shop='1'>
|
||||
<title>Comparaison de produits</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>comparaison-produits</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>Un loc unde confortul și luxul se îmbină cu natura!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>recuperare-parola</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Reduceri de preț</title>
|
||||
<description>Ofertele nostre speciale</description>
|
||||
<keywords/>
|
||||
<url_rewrite>reduceri-de-pret</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>V-ați rătăcit? Găsiți ceea ce căutați</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Furnizori</title>
|
||||
<description>Lista furnizorilor</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>comanda</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Căutare</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>cautare</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Magazine</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>magazine</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Comandă</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>confirmare-comanda</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Comparație între produse</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>comparare-produse</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Отель Прайм</title>
|
||||
<description>Место, где комфорт и роскошь сочетаются с природой!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords>забыли пароль, e-mail, новый пароль,восстановить пароль</keywords>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Снижение цен</title>
|
||||
<description>Наши скидки</description>
|
||||
<keywords>снижение цен, распродажи</keywords>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Карта сайта</title>
|
||||
<description>Потерялись? Найдите то, что ищете</description>
|
||||
<keywords>карта сайта</keywords>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Поставщики</title>
|
||||
<description>Список поставщиков</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Поиск</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Магазины</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Быстрый заказ</title>
|
||||
<description/>
|
||||
@@ -162,10 +170,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>guest-tracking</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>A place where comfort and luxury are blended with nature!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>A place where comfort and luxury are blended with nature!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>A place where comfort and luxury are blended with nature!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Prime 酒店</title>
|
||||
<description>一個舒適與奢華與自然融合的地方!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords>forgot, password, e-mail, new, reset</keywords>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>降價</title>
|
||||
<description>我們的特價產品</description>
|
||||
<keywords>special, prices drop</keywords>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>網站地圖</title>
|
||||
<description>找不到網頁?可以參考這兒</description>
|
||||
<keywords>sitemap</keywords>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>供應商</title>
|
||||
<description>供應商列表</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>搜尋</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>商店</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>訂單</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Khách sạn Prime</title>
|
||||
<description>Nơi mà sự thoải mái và sang trọng hòa quyện với thiên nhiên!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Giảm giá</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sơ đồ web</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Nhà cung cấp</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Đơn hàng</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<url_rewrite>contact-us</url_rewrite>
|
||||
</meta>
|
||||
<meta id="index" id_shop="1">
|
||||
<title>Hotel Prime</title>
|
||||
<description>A place where comfort and luxury are blended with nature!</description>
|
||||
<title></title>
|
||||
<description></description>
|
||||
<keywords/>
|
||||
<url_rewrite/>
|
||||
</meta>
|
||||
@@ -42,18 +42,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>password-recovery</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="prices-drop" id_shop="1">
|
||||
<title>Prices drop</title>
|
||||
<description>Our special products</description>
|
||||
<keywords/>
|
||||
<url_rewrite>prices-drop</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="sitemap" id_shop="1">
|
||||
<title>Sitemap</title>
|
||||
<description>Lost ? Find what your are looking for</description>
|
||||
<keywords/>
|
||||
<url_rewrite>sitemap</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="supplier" id_shop="1">
|
||||
<title>Suppliers</title>
|
||||
<description>Suppliers list</description>
|
||||
@@ -138,18 +142,22 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="search" id_shop="1">
|
||||
<title>Search</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>search</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<!--
|
||||
<meta id="stores" id_shop="1">
|
||||
<title>Stores</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>stores</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
<meta id="order-opc" id_shop="1">
|
||||
<title>Order</title>
|
||||
<description/>
|
||||
@@ -168,10 +176,12 @@
|
||||
<keywords/>
|
||||
<url_rewrite>order-confirmation</url_rewrite>
|
||||
</meta>
|
||||
<!--
|
||||
<meta id="products-comparison" id_shop="1">
|
||||
<title>Products Comparison</title>
|
||||
<description/>
|
||||
<keywords/>
|
||||
<url_rewrite>products-comparison</url_rewrite>
|
||||
</meta>
|
||||
-->
|
||||
</entity_meta>
|
||||
|
||||
@@ -68,10 +68,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">Thank you for creating a customer account at {shop_name}.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,14 +83,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Your {shop_name} login details </p>
|
||||
<span style="color:#777">
|
||||
Here are your login details:<br />
|
||||
<span style="color:#333"><strong>E-mail address: <a href="mailto:{email}" style="color:#337ff1">{email}</a></strong></span><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -106,7 +106,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">Important Security Tips:</p>
|
||||
<ol style="margin-bottom:0">
|
||||
<li>Always keep your account details safe.</li>
|
||||
@@ -114,7 +114,7 @@
|
||||
<li>Change your password regularly.</li>
|
||||
<li>Should you suspect someone is using your account illegally, please notify us immediately.</li>
|
||||
</ol>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -126,9 +126,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>You can now place orders on our website: <a href="{shop_url}" target="_blank" style="color:#337ff1">{shop_name}</a></span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -69,10 +69,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">{order_header_line_html}</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -84,13 +84,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Awaiting payment
|
||||
</p>
|
||||
<span style="color:#333"><strong>Order reference:</strong></span> {order_name}<br />
|
||||
<span style="color:#333"><strong>Payment method:</strong></span> {payment_method}<br />
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -103,18 +103,18 @@
|
||||
{extra_mail_content_html}
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,12 +83,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
A new order has been generated on your behalf. </p>
|
||||
<span style="color:#777">
|
||||
Please go on <a href="{order_link}" target="_blank" style="color:#337ff1">{order_link}</a> to finalize the payment. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -23,22 +23,22 @@
|
||||
<tr>
|
||||
{if $smarty.foreach.demandRow.first}
|
||||
<td rowspan="{$roomDemand['extra_demands']|count}">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$data_v['name']}<br>
|
||||
{$rm_v['data_form']|date_format:"%d-%m-%Y"} {l s='to'} {$rm_v['data_to']|date_format:"%d-%m-%Y"}<br>
|
||||
<strong>{l s='Stay'} - {$roomCount}</strong>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
{/if}
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$demand['name']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{convertPrice price=$demand['total_price_tax_excl']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
@@ -81,31 +81,31 @@
|
||||
<tr>
|
||||
{if $smarty.foreach.serviceRow.first}
|
||||
<td rowspan="{$roomService['additional_services']|count}">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$data_v['name']}<br>
|
||||
{$rm_v['data_form']|date_format:"%d-%m-%Y"} {l s='to'} {$rm_v['data_to']|date_format:"%d-%m-%Y"}<br>
|
||||
<strong>{l s='Stay'} - {$roomCount}</strong>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
{/if}
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$service['name']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{if $service['allow_multiple_quantity']}
|
||||
{$service['quantity']}
|
||||
{else}
|
||||
{l s='--'}
|
||||
{/if}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{convertPrice price=$service['total_price_tax_excl']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
@@ -13,22 +13,22 @@
|
||||
{foreach name=demandRow from=$roomDemand['extra_demands'] item=demand}
|
||||
{if $smarty.foreach.demandRow.first}
|
||||
<td class="text-center" rowspan="{$roomDemand['extra_demands']|count}">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$data_v['name']}<br>
|
||||
{$rm_v['data_form']|date_format:"%d-%m-%Y"} {l s='to'} {$rm_v['data_to']|date_format:"%d-%m-%Y"}<br>
|
||||
<strong>{l s='Stay'} - {$roomCount}</strong>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
{/if}
|
||||
<td class="text-center">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$demand['name']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{convertPrice price=$demand['total_price_tax_excl']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Message from a {shop_name} customer</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -82,11 +82,11 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span style="color:#777">
|
||||
{contact_content_html}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Your message to {shop_name} Customer Service</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,7 +83,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span style="color:#777">
|
||||
Your message has been sent successfully.<br /><br />
|
||||
<span style="color:#333"><strong>Message:</strong></span> {message}<br /><br />
|
||||
@@ -91,7 +91,7 @@
|
||||
<span style="color:#333"><strong>Product:</strong></span> {product_name}<br />
|
||||
<span style="color:#333"><strong>Attached file:</strong></span> {attached_file}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -103,10 +103,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
We will answer as soon as possible. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,12 +83,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Credit slip created </p>
|
||||
<span style="color:#777">
|
||||
We have generated a credit slip in your name for order with the reference <span style="color:#333"><strong>{order_name}</strong></span>. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -100,10 +100,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review this credit slip and download your invoice from the <a href="{credit_slip_url}" target="_blank" style="color:#337ff1">"My credit slips"</a> section of your account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -71,9 +71,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -85,7 +85,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
VOUCHER GENERATED
|
||||
</p>
|
||||
@@ -95,7 +95,7 @@
|
||||
<span style="color:#333"><strong>Voucher Code: <span>{voucher_code}</span></strong></span> for an amount of <span style="color:#333"><strong>{voucher_amount}.</strong></span><br /><br />
|
||||
To use this voucher just copy and paste this code during payment process for your next order.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,10 +69,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">Thank you for your order with the reference {order_name} from <strong>{shop_name}</strong></span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -84,14 +84,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Product(s) now available for download </p>
|
||||
<span style="color:#777">
|
||||
You have <span style="color:#333"><strong>{nbProducts}</strong></span> product(s) now available for download using the following link(s):<br/><br/>
|
||||
{virtualProducts}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -103,18 +103,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,7 +83,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Your {shop_name} login information </p>
|
||||
<span style="color:#777">
|
||||
@@ -93,7 +93,7 @@
|
||||
<span style="color:#333"><strong>Password:</strong></span> {passwd}<br />
|
||||
<span style="color:#333"><strong>E-mail address:</strong></span> {email}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,7 +83,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Customer service - Forwarded discussion </p>
|
||||
<span style="color:#777">
|
||||
@@ -91,7 +91,7 @@
|
||||
<span style="color:#333"><strong>Discussion history:</strong></span> {messages}<br /><br />
|
||||
<span style="color:#333"><strong>{employee}</strong></span> added <span style="color:#333"><strong>"{comment}"</strong></span>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,7 +83,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Your customer account creation </p>
|
||||
<span style="color:#777">
|
||||
@@ -91,7 +91,7 @@
|
||||
<span style="color:#333"><strong>E-mail address:</strong></span> {email}<br /><br />
|
||||
<span style="color:#333"><strong>Password:</strong></span> {passwd}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -103,19 +103,19 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
Please be careful when sharing these login details with others. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can access your customer account on our website: <strong>{shop_url}</strong>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,14 +83,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - In transit </p>
|
||||
<span style="color:#777">
|
||||
Your order with the reference <span style="color:#333"><strong>{order_name}</strong></span> is currently in transit. <br /><br />
|
||||
You can track your package using the following link: <a href="{followup}" target="_blank" style="color:#337ff1">{followup}</a>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -102,18 +102,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,13 +83,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
You have received a new log alert </p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Warning:</strong></span> you have received a new log alert in your Back Office.<br /><br />
|
||||
You can check for it in the <span style="color:#333"><strong>"Tools" > "Logs"</strong></span> section of your Back Office. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,12 +83,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order canceled - <a href="{history_url}" target="_blank" style="color:#337ff1">{order_name}</a>
|
||||
</p>
|
||||
<span style="color:#777">Your order with the reference <span style="color:#333"><strong>{order_name}</strong></span> has been canceled.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -104,7 +104,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="margin:3px 0 0px;font-weight:500;font-size:18px;padding-bottom: 10px;">
|
||||
Here are your order details:
|
||||
</p>
|
||||
@@ -112,7 +112,7 @@
|
||||
<span style="color:#333"><strong>Order reference:</strong></span> {order_name}<br />
|
||||
<span style="color:#333"><strong>Order total:</strong></span> {total_paid}<br />
|
||||
</p>
|
||||
</font>
|
||||
</span>
|
||||
<br/>
|
||||
{order_hotel_detail_html}
|
||||
</td>
|
||||
@@ -127,18 +127,18 @@
|
||||
{extra_mail_content_html}
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,12 +83,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Order changed </p>
|
||||
<span style="color:#777">
|
||||
Your order with the reference <span style="color:#333"><strong>{order_name}</strong></span> from <span style="color:#333"><strong>{hotel_hotel_name}</strong></span> has been changed by the merchant. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -100,18 +100,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">{order_header_line_html}</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -86,14 +86,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order details </p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_name} Placed on {date}<br /><br />
|
||||
<span style="color:#333"><strong>Payment:</strong></span> {payment}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -123,18 +123,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -70,10 +70,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">{order_header_line_html}</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -85,14 +85,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Customer details </p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Name:</strong></span> {customer_name}<br /><br />
|
||||
<span style="color:#333"><strong>Email:</strong></span> {customer_email}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -108,14 +108,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order details </p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_name} Placed on {date}<br /><br />
|
||||
<span style="color:#333"><strong>Payment:</strong></span> {payment}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
<tr>
|
||||
<td width="10" style="color:#333;padding:0"></td>
|
||||
<td align="right" style="color:#333;padding:0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<strong>{$cart_rule['voucher_name']}</strong>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="color:#333;padding:0"></td>
|
||||
</tr>
|
||||
@@ -18,9 +18,9 @@
|
||||
<tr>
|
||||
<td width="10" style="color:#333;padding:0"></td>
|
||||
<td align="right" style="color:#333;padding:0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$cart_rule['voucher_reduction']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="color:#333;padding:0"></td>
|
||||
</tr>
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$product['reference']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -18,9 +18,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<strong>{$product['name']}</strong>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -31,9 +31,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$product['unit_price']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -44,9 +44,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$product['quantity']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -57,9 +57,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$product['price']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -73,10 +73,10 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<strong>{$product['name']}</strong><br>
|
||||
{$customization['customization_text']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -87,9 +87,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$product['unit_price']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -100,9 +100,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$customization['customization_quantity']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -113,9 +113,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$customization['quantity']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Message from a customer</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -82,14 +82,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span style="color:#777">
|
||||
You have received a new message regarding booking with the reference <span style="color:#333"><strong>{order_name}</strong></span>.<br /><br />
|
||||
<span style="color:#333"><strong>Name:</strong></span> {firstname} {lastname} <br /><br />
|
||||
<span style="color:#333"><strong>E-mail: <a href="mailto:{email}" style="color:#337ff1">{email}</a></strong></span><br /><br />
|
||||
<span style="color:#333"><strong>Customer message:</strong></span><br />{message}<br/><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{if isset($list['hotel_name']) && $list['hotel_name']}
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<div style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="margin:3px 0 0px;font-weight:500;font-size:18px;padding-bottom: 10px;">
|
||||
{l s='Property details'}:
|
||||
</p>
|
||||
@@ -9,5 +9,5 @@
|
||||
<span style="color:#333"><strong>{l s='Property Email'}:</strong></span> {$list['hotel_email']}<br />
|
||||
<span style="color:#333"><strong>{l s='Total Stays'}:</strong></span> {$list['num_rooms']}<br />
|
||||
</p>
|
||||
</font>
|
||||
</div>
|
||||
{/if}
|
||||
@@ -68,9 +68,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -82,7 +82,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Message from {shop_name}
|
||||
</p>
|
||||
@@ -90,7 +90,7 @@
|
||||
You have received a new message from <span style="color:#333"><strong>{shop_name}</strong></span> regarding booking with the reference <span style="color:#333"><strong>{order_name}</strong></span>.<br /><br />
|
||||
<span style="color:#333"><strong>Message:</strong></span><br>{message}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">A request has been completed for the {refund_for_txt} cancellation.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Order details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_reference} Placed on {order_date}<br /><br />
|
||||
@@ -96,7 +96,7 @@
|
||||
<span style="color:#333"><strong>Payment Mode:</strong></span> {payment_mode}<br /><br />
|
||||
<span style="color:#333"><strong>Transaction Id:</strong></span> {id_transaction}<br /><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -119,12 +119,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Customer details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Customer name:</strong></span> {customer_name}<br /><br />
|
||||
<span style="color:#333"><strong>Customer email:</strong></span> {customer_email}<br /><br />
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">Your request for {refund_for_txt} cancellation has been completed.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -86,7 +86,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Order details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_reference} Placed on {order_date}<br /><br />
|
||||
@@ -95,7 +95,7 @@
|
||||
<span style="color:#333"><strong>Payment Mode:</strong></span> {payment_mode}<br /><br />
|
||||
<span style="color:#333"><strong>Transaction Id:</strong></span> {id_transaction}<br /><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -117,10 +117,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your booking cancelation requests from the <a href="{refund_reqests_url}" target="_blank" style="color:#337ff1">"Booking Refund Requests"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a>.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">A request has been denied for the {refund_for_txt} cancellation.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -87,13 +87,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Order details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_reference} Placed on {order_date}<br /><br />
|
||||
<span style="color:#333"><strong>Refund Status:</strong></span> <span style="border-radius: 2px;color:#FFFFFF;font-weight:600;padding:5px 10px;background-color:{status_color}">{status_name}</span><br /><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -116,12 +116,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Customer details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Customer name:</strong></span> {customer_name}<br /><br />
|
||||
<span style="color:#333"><strong>Customer email:</strong></span> {customer_email}<br /><br />
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user