/* * 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 */ $(document).ready(function() { $("#date_from").datepicker({ showOtherMonths: true, dateFormat: 'yy-mm-dd', onClose: function() { let dateFrom = $('#date_from').val().trim(); let dateTo = $('#date_to').val().trim(); if (dateFrom >= dateTo) { let objDateToMin = $.datepicker.parseDate('yy-mm-dd', dateFrom); objDateToMin.setDate(objDateToMin.getDate()); $('#date_to').datepicker('option', 'minDate', objDateToMin); } }, }); $("#date_to").datepicker({ showOtherMonths: true, dateFormat: 'yy-mm-dd', beforeShow: function() { let dateFrom = $('#date_from').val().trim(); if (typeof dateFrom != 'undefined' && dateFrom != '') { let objDateToMin = $.datepicker.parseDate('yy-mm-dd', dateFrom); objDateToMin.setDate(objDateToMin.getDate()); $('#date_to').datepicker('option', 'minDate', objDateToMin); } }, }); $('.change_status').on('click', function (e) { e.preventDefault(); var id_order_slip = $.trim($(this).closest('tr').find('td[data-key="id_order_slip"]').text()); processupdate(id_order_slip, $(this).attr('href')) return false; }); function processupdate(id_order_slip, link) { confirmDelete(id_order_slip).then((toUpdate) => { if (toUpdate) { window.location = link; } }); } function confirmDelete(id_order_slip) { return new Promise((resolve) => { $.ajax({ type: 'POST', url: admin_order_slip_tab_link, dataType: 'JSON', cache: false, data: { ajax: true, action: 'initSlipStatusModal', id_order_slip: id_order_slip }, success: function(result) { if (result.success && result.modalHtml) { $('#moduleConfirmUpdate').remove(); $('#footer').next('.bootstrap').append(result.modalHtml); $('#moduleConfirmUpdate').modal('show'); $('#moduleConfirmUpdate .process_update').click(() => { resolve(true); }); $('#moduleConfirmUpdate .btn-close').click(() => { resolve(false); }); } else { resolve(true); } }, complete: function() { $(".loading_overlay").hide(); } }); }); } var allBookings = []; var currencySign = ''; if (typeof $.fn.chosen !== 'undefined') { $('select[name="id_order"]').chosen('destroy').chosen({ width: '100%', search_contains: true }); $('select[name="id_room_type"]').chosen({ width: '100%', search_contains: true }); $('select[name="id_booking_detail"]').chosen({ width: '100%', search_contains: true }); } $('select[name="id_order"]').on('change', function () { var idOrder = $(this).val(); var $roomTypeSelect = $('select[name="id_room_type"]'); var $bookingSelect = $('select[name="id_booking_detail"]'); allBookings = []; $roomTypeSelect.empty().trigger('chosen:updated'); $bookingSelect.empty().trigger('chosen:updated'); if (!idOrder) { $('#order-info').hide(); $('#order-view-link').hide(); $('#booking-total-slip-amount').text('-'); $('#booking-slip-ids').html(''); $('#booking-slip-ids-wrapper').hide(); $('#order-total-amount').text('-'); $('#order-total-amount-wrapper').hide(); $('#order-total-paid').text('-'); $('#order-total-paid-wrapper').hide(); $('#order-total-return').text('-'); $('#order-total-return-wrapper').hide(); return; } var selectedLabel = $('select[name="id_order"] option:selected').text(); $('#order-info').text(selectedLabel).show(); $('#order-view-link') .attr('href', admin_order_view_link + '&id_order=' + idOrder + '&vieworder') .show(); $.ajax({ url: admin_order_slip_tab_link, type: 'POST', dataType: 'json', data: { ajax: 1, action: 'GetBookingDetails', id_order: idOrder }, success: function (response) { allBookings = response.bookings || []; currencySign = response.currency.sign; var totalSlipAmount = parseFloat(response.total_slip_amount || 0); $('#booking-total-slip-amount').text(currencySign + ' ' + totalSlipAmount.toFixed(2)); var orderTotalAmount = parseFloat(response.order_total_amount || 0); $('#order-total-amount').text(currencySign + ' ' + orderTotalAmount.toFixed(2)); $('#order-total-amount-wrapper').show(); var orderTotalPaid = parseFloat(response.order_total_paid || 0); $('#order-total-paid').text(currencySign + ' ' + orderTotalPaid.toFixed(2)); $('#order-total-paid-wrapper').show(); var orderRefundedAmount = parseFloat(response.order_refunded_amount || 0); $('#order-total-return').text(currencySign + ' ' + orderRefundedAmount.toFixed(2)); $('#order-total-return-wrapper').show(); var slipIds = response.slip_ids || []; if (slipIds.length) { var links = slipIds.map(function (id) { var href = admin_order_slip_tab_link + '&order_slipFilter_id_order_slip=' + id + '&submitFilterorder_slip=1'; return '#' + id + ''; }); $('#booking-slip-ids').html(links.join(', ')); $('#booking-slip-ids-wrapper').show(); } else { $('#booking-slip-ids').html(''); $('#booking-slip-ids-wrapper').hide(); } $('#credit_slip_amount') .closest('.input-group') .find('.input-group-addon, .input-group-text') .text(currencySign); var addedRoomTypes = {}; $.each(allBookings, function (_, booking) { if (!addedRoomTypes[booking.id_product]) { addedRoomTypes[booking.id_product] = true; $roomTypeSelect.append($('