Merge branch 'develop' into gli-689-2

This commit is contained in:
abhishek-webkul
2022-12-22 13:02:49 +05:30
committed by GitHub
12 changed files with 27 additions and 148 deletions

View File

@@ -33,15 +33,13 @@
{else}
{$element->description|truncate:90:"..."}
{/if}
{* <a href="{if $element->element_type == $element_type_module}{$currentIndex|escape:'html':'UTF-8'}&amp;token={$token|escape:'html':'UTF-8'}&amp;ajax=1&amp;action=GetModuleQuickView&amp;module={$element->name|urlencode}{else}{$element->addons_buy_url|replace:' ':'+'|escape:'html':'UTF-8'}{/if}" class="fancybox-quick-view pull-right">{l s='Read more'}</a> *}
</p>
<div class="panel-action clearfix">
{if isset($element->type) && $element->type == 'addonsMustHave' && $element->not_on_disk}
<span class="module-price">{if isset($element->price)}{if $element->price|floatval == 0}{l s='Free'}{elseif isset($element->id_currency)}{displayPrice price=$element->price currency=$element->id_currency}{/if}{/if}</span>
<a class="btn button-action pull-right btn-primary _blank" href="{$element->addons_buy_url|replace:' ':'+'|escape:'html':'UTF-8'}">{l s='Explore'}</a>
{else}
{* <a class="btn button-action pull-right btn-primary{if !$element->trusted} untrustedaddon{/if}" {if !$element->trusted} data-target="#moduleNotTrusted" data-toggle="modal"{/if} data-link="{$element->options.install_url|escape:'html':'UTF-8'}" data-module-display-name="{$element->displayName|escape:'html':'UTF-8'}" data-module-name="{$element->name|escape:'html':'UTF-8'}" data-module-image="{if isset($element->image)}{$element->image}{else}{$modules_uri}/{$element->name}/{$element->logo}{/if}" data-author-name="{$element->author|escape:'html':'UTF-8'}" data-author-uri="{if isset($element->author_uri)}{$element->author_uri|escape:'html':'UTF-8'}{/if}" href="{if !$element->trusted}#{else}{$element->options.install_url|escape:'html':'UTF-8'}{/if}" title="{l s='Install'}">{l s='Install'}</a> *}
<a class="btn button-action pull-right btn-primary" data-link="{$element->options.install_url|escape:'html':'UTF-8'}" data-module-display-name="{$element->displayName|escape:'html':'UTF-8'}" data-module-name="{$element->name|escape:'html':'UTF-8'}" data-module-image="{if isset($element->image)}{$element->image}{else}{$modules_uri}/{$element->name}/{$element->logo}{/if}" data-author-name="{$element->author|escape:'html':'UTF-8'}" data-author-uri="{if isset($element->author_uri)}{$element->author_uri|escape:'html':'UTF-8'}{/if}" href="#" title="{l s='Install'}">{l s='Install'}</a>
<a class="btn button-action pull-right btn-primary{if !$element->trusted} untrustedaddon{/if}" {if !$element->trusted} data-target="#moduleNotTrusted" data-toggle="modal"{/if} data-link="{$element->options.install_url|escape:'html':'UTF-8'}" data-module-display-name="{$element->displayName|escape:'html':'UTF-8'}" data-module-name="{$element->name|escape:'html':'UTF-8'}" data-module-image="{if isset($element->image)}{$element->image}{else}{$modules_uri}/{$element->name}/{$element->logo}{/if}" data-author-name="{$element->author|escape:'html':'UTF-8'}" data-author-uri="{if isset($element->author_uri)}{$element->author_uri|escape:'html':'UTF-8'}{/if}" href="{if !$element->trusted}#{else}{$element->options.install_url|escape:'html':'UTF-8'}{/if}" title="{l s='Install'}">{l s='Install'}</a>
{/if}
</div>
</div>

View File

@@ -3323,13 +3323,14 @@ exit;
'version' => isset($params['version']) ? $params['version'] : _QLOAPPS_VERSION_,
'iso_lang' => Tools::strtolower(isset($params['iso_lang']) ? $params['iso_lang'] : Context::getContext()->language->iso_code),
'iso_code' => Tools::strtolower(isset($params['iso_country']) ? $params['iso_country'] : Country::getIsoById(Configuration::get('PS_COUNTRY_DEFAULT'))),
'shop_url_ssl' => isset($params['shop_url']) ? $params['shop_url'] : Tools::getShopDomainSsl(),
'shop_url' => isset($params['shop_url']) ? $params['shop_url'] : Tools::getShopDomain(),
'shop_url_ssl' => isset($params['shop_url_ssl']) ? $params['shop_url_ssl'] : Tools::getShopDomainSsl(),
'physical_uri' => Context::getContext()->shop->physical_uri,
'mail' => isset($params['email']) ? $params['email'] : Configuration::get('PS_SHOP_EMAIL')
));
$protocols = array('https');
$end_point = 'api.qloapps.com';
$end_point = _QLO_API_DOMAIN_;
switch ($request) {
case 'native':

View File

@@ -2243,6 +2243,7 @@ class AdminControllerCore extends Controller
} else {
$this->status = 'cache';
}
Module::generateTrustedXml();
}
/**

View File

@@ -1377,6 +1377,7 @@ abstract class ModuleCore
$item->active = 0;
$item->onclick_option = false;
$item->url = false;
$item->trusted = Module::isModuleTrusted($item->name, false);
$item->is_native = false;
if (defined('_PS_HOST_MODE_') && in_array($item->name, self::$hosted_modules_blacklist)) {
@@ -1443,6 +1444,7 @@ abstract class ModuleCore
$item->is_configurable = $tmp_module->is_configurable = method_exists($tmp_module, 'getContent') ? 1 : 0;
$item->need_instance = isset($tmp_module->need_instance) ? $tmp_module->need_instance : 0;
$item->active = $tmp_module->active;
$item->trusted = Module::isModuleTrusted($tmp_module->name, false);
$item->currencies = isset($tmp_module->currencies) ? $tmp_module->currencies : null;
$item->currencies_mode = isset($tmp_module->currencies_mode) ? $tmp_module->currencies_mode : null;
$item->confirmUninstall = isset($tmp_module->confirmUninstall) ? html_entity_decode($tmp_module->confirmUninstall) : null;
@@ -1629,6 +1631,7 @@ abstract class ModuleCore
$item->need_instance = 0;
$item->not_on_disk = 1;
$item->available_on_addons = 1;
$item->trusted = Module::isModuleTrusted($item->name, false);
$item->active = 0;
$item->description_full = stripslashes($modaddons->description_full);
$item->additional_description = isset($modaddons->additional_description) ? stripslashes($modaddons->additional_description) : null;

View File

@@ -151,7 +151,7 @@ class AdminPerformanceControllerCore extends AdminController
'input' => array(
array(
'type' => 'switch',
'label' => $this->l('Disable non PrestaShop modules'),
'label' => $this->l('Disable non QloApps modules'),
'name' => 'native_module',
'class' => 't',
'is_bool' => true,
@@ -167,7 +167,7 @@ class AdminPerformanceControllerCore extends AdminController
'label' => $this->l('Disabled')
)
),
'hint' => $this->l('Enable or disable non PrestaShop Modules.')
'hint' => $this->l('Enable or disable non QloApps Modules.')
),
array(
'type' => 'switch',

View File

@@ -271,7 +271,6 @@ class ProductControllerCore extends FrontController
/*By webkul To send All needed Hotel Information on product.tpl*/
#####################################################################
$total_available_rooms = 0;
$htl_features = array();
$obj_hotel_room_type = new HotelRoomType();
$room_info_by_product_id = $obj_hotel_room_type->getRoomTypeInfoByIdProduct($this->product->id);
@@ -311,12 +310,6 @@ class ProductControllerCore extends FrontController
$date_to = date('Y-m-d', strtotime('+1 day', strtotime($date_from)));
}
$obj_booking_dtl = new HotelBookingDetail();
$hotel_room_data = $obj_booking_dtl->DataForFrontSearch($date_from, $date_to, $hotel_id, $this->product->id, 1);
if ($hotel_room_data) {
$total_available_rooms = $hotel_room_data['stats']['num_avail'];
}
$hotel_branch_obj = new HotelBranchInformation($hotel_id);
/*Max date of ordering for order restrict*/
$order_date_restrict = false;
@@ -355,7 +348,6 @@ class ProductControllerCore extends FrontController
'isHotelRefundable' => $hotel_branch_obj->isRefundable(),
'max_order_date' => $max_order_date,
'warning_num' => Configuration::get('WK_ROOM_LEFT_WARNING_NUMBER'),
'total_available_rooms' => $total_available_rooms,
'product_controller_url' => $this->context->link->getPageLink('product'),
'date_from' => $date_from,
'date_to' => $date_to,

View File

@@ -370,20 +370,10 @@ var ajaxCart = {
/*by webkul checking and setting availability of rooms*/
/*for product page add to cart quantity management*/
if (pagename == 'product') {
if (jsonData.avail_rooms <= room_warning_num) {
$('.num_quantity_alert').show();
} else {
$('.num_quantity_alert').hide();
}
$("#max_avail_type_qty").val(jsonData.avail_rooms);
$(".num_searched_avail_rooms").text(jsonData.avail_rooms);
if (jsonData.avail_rooms == 0) {
$('.num_quantity_alert').hide();
$('.sold_out_alert').show();
disableRoomTypeDemands(1);
$('.unvail_rooms_cond_display').hide();
}
BookingForm.refresh();
}
if (pagename == 'category') {
@@ -509,19 +499,10 @@ var ajaxCart = {
var date_checkOut = $.datepicker.formatDate('yy-mm-dd', $.datepicker.parseDate(ajaxCart.dateFormat, $('#room_check_out').val()));
var product_page_id_product = $('#product_page_product_id').val();
if (idProduct == product_page_id_product && dateFrom < date_checkOut && dateTo >= date_checkIn) {
if (jsonData.avail_rooms <= room_warning_num) {
$('.num_quantity_alert').show();
} else {
$('.num_quantity_alert').hide();
}
$("#max_avail_type_qty").val(jsonData.avail_rooms);
$(".num_searched_avail_rooms").text(jsonData.avail_rooms);
if (jsonData.avail_rooms == 0) {
$('.num_quantity_alert').hide();
$('.sold_out_alert').show();
disableRoomTypeDemands(1);
$('.unvail_rooms_cond_display').hide();
}
}
BookingForm.refresh();
@@ -628,18 +609,10 @@ var ajaxCart = {
data: 'controller=cart&delete=1&dateFrom=' + dateFrom + '&dateTo=' + dateTo + '&id_product=' + idProduct + '&ipa=' + ((idCombination != null && parseInt(idCombination)) ? idCombination : '') + ((customizationId && customizationId != null) ? '&id_customization=' + customizationId : '') + '&id_address_delivery=' + idAddressDelivery + '&token=' + static_token + '&ajax=true',
success: function(jsonData) {
if (pagename == 'product') {
if (jsonData.avail_rooms <= room_warning_num) {
$('.num_quantity_alert').show();
} else {
$('.num_quantity_alert').hide();
}
$("#max_avail_type_qty").val(jsonData.avail_rooms);
$(".num_searched_avail_rooms").text(jsonData.avail_rooms);
$('.sold_out_alert').hide();
disableRoomTypeDemands(0);
$('.unvail_rooms_cond_display').show();
BookingForm.refresh();
}
if (pagename == 'category') {
// for category page....
$(".cat_remain_rm_qty_" + idProduct).text(jsonData.avail_rooms);

View File

@@ -35,7 +35,6 @@
<input type="text" class="form-control input-date" name="room_check_out" id="room_check_out" value="{if isset($date_to)}{$date_to|escape:'html':'UTF-8'|date_format:"%d-%m-%Y"}{/if}" autocomplete="off" readonly />
</div>
</div>
<div class="room_unavailability_date_error_div"></div>
{if $total_available_rooms > 0}
<div class="unvail_rooms_cond_display row">
<div class="form-group col-sm-6" id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}>
@@ -82,7 +81,6 @@
</div>
<hr class="separator-hr-mg-10 form-group unvail_rooms_cond_display">
{/if}
<div class="room_unavailability_qty_error_div"></div>
<div class="row unvail_rooms_cond_display">
<div class="total_price_block col-xs-7 form-group">
<label class="control-label">{l s='Subtotal'}</label>
@@ -90,9 +88,7 @@
</div>
{if $total_available_rooms <= $warning_count}
<div class="col-xs-5 form-group pull-right num_quantity_alert">
<span class="num_searched_avail_rooms">
{$total_available_rooms|escape:'html':'UTF-8'}
</span>
<span>{$total_available_rooms|escape:'html':'UTF-8'}</span>
{if $total_available_rooms > 1} {l s='rooms left!'} {else} {l s='room left!'} {/if}
</div>
{/if}

View File

@@ -1229,35 +1229,17 @@ Quick View Styles
font-size: 16px;
font-weight: 400;
padding-top: 10px;}
.room_unavailability_qty_error_div
{
display: none;
background-color: #cd5d5d;
color: #ffffff;
font-size: 13px;
margin-bottom: 10px;
padding: 2px;
text-align: center;}
.room_unavailability_date_error_div
{
display: none;
background-color: #cd5d5d;
color: #ffffff;
font-size: 13px;
margin-bottom: 10px;
padding: 2px;
text-align: center;}
.sold_out_alert, .order_restrict_alert {
color: #FF4B4B;
display: block;
font-size: 16px;
font-weight: 700;}
.num_quantity_alert {
font-size: 14px;
color: #FF4B4B;
font-weight: 700;}
.num_quantity_alert {
font-size: 14px;
color: #FF4B4B;
font-weight: 700;
text-align: right;}
/*for search block background*/
.idTabHrefShort:hover {

View File

@@ -370,20 +370,10 @@ var ajaxCart = {
/*by webkul checking and setting availability of rooms*/
/*for product page add to cart quantity management*/
if (pagename == 'product') {
if (jsonData.avail_rooms <= room_warning_num) {
$('.num_quantity_alert').show();
} else {
$('.num_quantity_alert').hide();
}
$("#max_avail_type_qty").val(jsonData.avail_rooms);
$(".num_searched_avail_rooms").text(jsonData.avail_rooms);
if (jsonData.avail_rooms == 0) {
$('.num_quantity_alert').hide();
$('.sold_out_alert').show();
disableRoomTypeDemands(1);
$('.unvail_rooms_cond_display').hide();
}
BookingForm.refresh();
}
if (pagename == 'category') {
@@ -509,19 +499,10 @@ var ajaxCart = {
var date_checkOut = $.datepicker.formatDate('yy-mm-dd', $.datepicker.parseDate(ajaxCart.dateFormat, $('#room_check_out').val()));
var product_page_id_product = $('#product_page_product_id').val();
if (idProduct == product_page_id_product && dateFrom < date_checkOut && dateTo >= date_checkIn) {
if (jsonData.avail_rooms <= room_warning_num) {
$('.num_quantity_alert').show();
} else {
$('.num_quantity_alert').hide();
}
$("#max_avail_type_qty").val(jsonData.avail_rooms);
$(".num_searched_avail_rooms").text(jsonData.avail_rooms);
if (jsonData.avail_rooms == 0) {
$('.num_quantity_alert').hide();
$('.sold_out_alert').show();
disableRoomTypeDemands(1);
$('.unvail_rooms_cond_display').hide();
}
}
BookingForm.refresh();
@@ -628,18 +609,10 @@ var ajaxCart = {
data: 'controller=cart&delete=1&dateFrom=' + dateFrom + '&dateTo=' + dateTo + '&id_product=' + idProduct + '&ipa=' + ((idCombination != null && parseInt(idCombination)) ? idCombination : '') + ((customizationId && customizationId != null) ? '&id_customization=' + customizationId : '') + '&id_address_delivery=' + idAddressDelivery + '&token=' + static_token + '&ajax=true',
success: function(jsonData) {
if (pagename == 'product') {
if (jsonData.avail_rooms <= room_warning_num) {
$('.num_quantity_alert').show();
} else {
$('.num_quantity_alert').hide();
}
$("#max_avail_type_qty").val(jsonData.avail_rooms);
$(".num_searched_avail_rooms").text(jsonData.avail_rooms);
$('.sold_out_alert').hide();
disableRoomTypeDemands(0);
$('.unvail_rooms_cond_display').show();
BookingForm.refresh();
}
if (pagename == 'category') {
// for category page....
$(".cat_remain_rm_qty_" + idProduct).text(jsonData.avail_rooms);

View File

@@ -311,9 +311,6 @@ $(document).on('click', '.product_quantity_up', function(e) {
BookingForm.refresh();
} else if ((numRoomsWanted < 1 || numRoomsWanted > numRoomsMaxAvailable) && numRoomsMaxAvailable > 0) {
$('#quantity_wanted').val(numRoomsMaxAvailable);
setTimeout(function() {
$('.room_unavailability_qty_error_div').hide();
}, 2000);
}
});
@@ -322,8 +319,6 @@ $(document).on('click', '.product_quantity_down', function(e) {
e.preventDefault();
let numRoomsWanted = parseInt($('#quantity_wanted').val());
let numRoomsMaxAvailable = parseInt($('#max_avail_type_qty').val());
if (numRoomsWanted > 1) {
$('#quantity_wanted').val(numRoomsWanted - 1);
BookingForm.refresh();
@@ -1061,49 +1056,12 @@ function checkUrl() {
/*java script code by webkul on produt page.*/
/*#####################################################################*/
$(document).ready(function() {
let dateFormat = 'dd-mm-yy';
if (total_avail_rms <= room_warning_num) {
$('.num_quantity_alert').show();
} else {
$('.num_quantity_alert').hide();
}
/*set $max avail quantity when reloading page*/
$('#max_avail_type_qty').val(total_avail_rms);
if ($('#max_avail_type_qty').val() < 1) {
$('.num_quantity_alert').hide();
$('.unvail_rooms_cond_display').hide();
$('.sold_out_alert').show();
if (!$('#max_avail_type_qty').length || $('#max_avail_type_qty').val() < 1) {
disableRoomTypeDemands(1);
} else {
$('.unvail_rooms_cond_display').show();
$('.sold_out_alert').hide();
disableRoomTypeDemands(0);
}
function highlightDateBorder(elementVal, date)
{
if (elementVal) {
var currentDate = date.getDate();
var currentMonth = date.getMonth()+1;
if (currentMonth < 10) {
currentMonth = '0' + currentMonth;
}
if (currentDate < 10) {
currentDate = '0' + currentDate;
}
dmy = date.getFullYear() + "-" + currentMonth + "-" + currentDate;
var date_format = elementVal.split("-");
var check_in_time = (date_format[2]) + '-' + (date_format[1]) + '-' + (date_format[0]);
if (dmy == check_in_time) {
return [true, "selectedCheckedDate", "Check-In date"];
} else {
return [true, ""];
}
} else {
return [true, ""];
}
}
BookingForm.initDatepicker();
$(document).on('focusout', '#quantity_wanted', function(e) {
@@ -1274,11 +1232,14 @@ var BookingForm = {
});
},
getFormData: function () {
var quantity = parseInt($('#quantity_wanted').val());
quantity = (isNaN(quantity) || quantity < 1) ? 1 : quantity;
var data = {
id_product: parseInt($('#product_page_product_id').val()),
date_from: $('#room_check_in').val(),
date_to: $('#room_check_out').val(),
quantity: parseInt($('#quantity_wanted').val()),
quantity: quantity,
room_type_demands: JSON.stringify(getRoomsExtraDemands()),
};
return data;

View File

@@ -635,7 +635,6 @@
{/if}
{strip}
{* By webkul variable needed in product.js *}
{addJsDef total_avail_rms = $total_available_rooms}
{addJsDef max_order_date = $max_order_date}
{addJsDef booking_date_to = $date_to}
{addJsDef booking_date_from = $date_from}