/** * 2019 DPD Polska Sp. z o.o. * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/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 * prestashop@dpd.com.pl so we can send you a copy immediately. * * @author DPD Polska Sp. z o.o. * @copyright 2019 DPD Polska Sp. z o.o. * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of DPD Polska Sp. z o.o. */ $(document).ready(function () { togglePudoMap(); if (redirect_and_open) { toggleShipmentCreationDisplay(); window.location = dpdpoland_pdf_uri + '?printLabels&id_package_ws=' + redirect_and_open + '&printout_format=' + printout_format + '&token=' + encodeURIComponent(dpdpoland_token) + '&_PS_ADMIN_DIR_=' + encodeURIComponent(_PS_ADMIN_DIR_) + '&returnOnErrorTo=' + encodeURIComponent(window.location.href); } updateParcelsListData(); $('#dpdpoland_shipment_parcels').on('keypress', function () { $(this).addClass('modified'); $(this).siblings('p.preference_description').slideDown('fast'); }); $('#dpdpoland_shipment_parcels').on('paste', 'input[type="text"]', function () { $(this).addClass('modified'); $(this).siblings('p.preference_description').slideDown('fast'); }); $('#dpdpoland_shipment_parcels').on('input', 'input[type="text"]', function () { $(this).addClass('modified'); $(this).siblings('p.preference_description').slideDown('fast'); }); $('#dpdpoland_duty').on('change', function () { if (this.checked) $('#dpdpoland_duty_container').removeClass("d-none"); else $('#dpdpoland_duty_container').addClass("d-none"); }) $('#dpdpoland_recipient_address_selection').on('change', function () { $('#ajax_running').slideDown(); $('#dpdpoland_recipient_address_container .dpdpoland_address').fadeOut('fast'); var id_address = $(this).val(); $.ajax({ type: "POST", async: true, url: dpdpoland_ajax_uri, dataType: "html", global: false, data: "ajax=true&token=" + encodeURIComponent(dpdpoland_token) + "&id_shop=" + encodeURIComponent(dpdpoland_id_shop) + "&id_lang=" + encodeURIComponent(dpdpoland_id_lang) + "&getFormattedAddressHTML=true" + "&id_address=" + encodeURIComponent(id_address), success: function (address_html) { $('#ajax_running').slideUp(); $('#dpdpoland_recipient_address_container .dpdpoland_address').html(address_html).fadeIn('fast'); }, error: function () { $('#ajax_running').slideUp(); } }); }); setDPDSenderAddress(); $('#sender_address_selection').on('change', function () { setDPDSenderAddress(); }); $('#dpdpoland_shipment_creation #add_parcel').on('click', function () { var max_parcel_number = $('#dpdpoland_shipment_parcels tbody').find('input[name$="[number]"]:last').attr('value'); var new_parcel_number = Number(max_parcel_number) + 1; var $tr_parcel = $('
' + resp.error + '
').slideDown(); $([document.documentElement, document.body]).animate({ scrollTop: $("#dpdpoland").offset().top - 150 }, 400); } else { id_package_ws = resp.id_package_ws; window.location = dpdpoland_pdf_uri + resp.link_to_labels_pdf + '&_PS_ADMIN_DIR_=' + encodeURIComponent(_PS_ADMIN_DIR_) + '&returnOnErrorTo=' + encodeURIComponent(window.location.href); } $('#ajax_running').slideUp(); }, error: function () { $('#ajax_running').slideUp(); } }); }); $('#save_labels').click(function () { var available = true; $('#dpdpoland_shipment_products .parcel_selection').each(function () { if ($(this).val() == '' || $(this).val() == 0) { available = false; alert(dpdpoland_parcels_error_message); } }); if (!available) return false; $('#ajax_running').slideDown(); $('#dpdpoland_msg_container').slideUp().html(''); var pudo_code = $('#dpdpoland_pudo_code_input').val(); var pudo_data = ""; if (pudo_code.length > 0) { pudo_data = "&dpdpoland_pudo_code=" + pudo_code; } console.log("id_order"); console.log(id_order); $.ajax({ type: "POST", async: true, url: dpdpoland_ajax_uri, dataType: "json", global: false, data: "ajax=true&token=" + encodeURIComponent(dpdpoland_token) + "&id_order=" + encodeURIComponent(id_order) + "&id_shop=" + encodeURIComponent(dpdpoland_id_shop) + "&id_lang=" + encodeURIComponent(dpdpoland_id_lang) + "&sender_address_selection=" + $('#sender_address_selection').val() + "&printout_format=" + encodeURIComponent($('input[name="dpdpoland_printout_format"]:checked').val()) + "&savePackagePrintLabels=true&" + $('#dpdpoland :input').serialize() + pudo_data, success: function (resp) { if (resp.error) { $('#dpdpoland_msg_container').hide().html('' + resp.error + '
').slideDown(); $([document.documentElement, document.body]).animate({ scrollTop: $("#dpdpoland").offset().top - 150 }, 400); } else { current_order_uri = current_order_uri.replace(/&/g, '&') + '&scrollToShipment'; window.location = current_order_uri; } $('#ajax_running').slideUp(); }, error: function () { $('#ajax_running').slideUp(); } }); }); $('#print_labels').on('click', function () { $('#ajax_running').slideDown(); $('#dpdpoland_msg_container').slideUp().html(''); $.ajax({ type: "POST", async: true, url: dpdpoland_ajax_uri, dataType: "json", global: false, data: "ajax=true&token=" + encodeURIComponent(dpdpoland_token) + "&id_order=" + encodeURIComponent(id_order) + "&id_shop=" + encodeURIComponent(dpdpoland_id_shop) + "&id_lang=" + encodeURIComponent(dpdpoland_id_lang) + "&printLabels=true" + "&dpdpoland_printout_format=" + encodeURIComponent($('input[name="dpdpoland_printout_format"]:checked').val()) + "&id_package_ws=" + encodeURIComponent(id_package_ws) + "&_PS_ADMIN_DIR_=" + encodeURIComponent(_PS_ADMIN_DIR_), success: function (resp) { if (resp.error) { $('#dpdpoland_msg_container').hide().html('' + resp.error + '
').slideDown(); } else { window.location = dpdpoland_pdf_uri + resp.link_to_labels_pdf + '&_PS_ADMIN_DIR_=' + encodeURIComponent(_PS_ADMIN_DIR_) + '&returnOnErrorTo=' + encodeURIComponent(window.location.href); } $('#ajax_running').slideUp(); }, error: function () { $('#ajax_running').slideUp(); } }); }); $("#dpdpoland_shipment_parcels input").on("change keyup paste", function () { var default_value = 0; var $inputs_container = $(this).parents('tr:first'); var height = $inputs_container.find('input[name$="[height]"]').attr('value'); var length = $inputs_container.find('input[name$="[length]"]').attr('value'); var width = $inputs_container.find('input[name$="[width]"]').attr('value'); var dimention_weight = Number(length) * Number(width) * Number(height) / Number(_DPDPOLAND_DIMENTION_WEIGHT_DIVISOR_); if (dimention_weight > 0) { dimention_weight = dimention_weight.toFixed(3); } else { dimention_weight = default_value.toFixed(3); } $inputs_container.find('td.parcel_dimension_weight').text(dimention_weight); }); var shipment_mode_select = $('select[name="dpdpoland_SessionType"]'); toggleServiceInputs(shipment_mode_select.val()); shipment_mode_select.change(function () { togglePudoMap(); toggleServiceInputs($(this).val()); }); $('#dpdpoland_shipment_products select.parcel_selection').on('change', function () { updateParcelsListData(); }); }); function toggleServiceInputs(shipment_mode) { var cod_container = $('#dpdpoland_cod_amount_container'); var dpd_next_day_container = $('#dpdpoland_dpdnd_container'); var dpd_express_container = $('#dpdpoland_dpde_container'); if (shipment_mode == 'domestic_with_cod') { cod_container.fadeIn(); } else { cod_container.fadeOut(); } if (shipment_mode == 'international') { dpd_next_day_container.find('input#dpdpoland_dpdnd').prop('checked', false); dpd_next_day_container.hide(); dpd_express_container.fadeIn(); } else if (shipment_mode == 'domestic' || shipment_mode == 'domestic_with_cod') { dpd_express_container.find('input#dpdpoland_dpde').prop('checked', false); dpd_express_container.hide(); dpd_next_day_container.fadeIn(); } else { dpd_express_container.find('input#dpdpoland_dpde').prop('checked', false); dpd_next_day_container.find('input#dpdpoland_dpdnd').prop('checked', false); dpd_express_container.fadeOut(); dpd_next_day_container.fadeOut(); } } function updateParcelsListData() { var attr = $('#dpdpoland_shipment_creation select[name="dpdpoland_SessionType"]').attr('disabled'); if (typeof attr !== 'undefined' && attr !== false) { return; } var default_value = 0; var products_count = $('#dpdpoland_shipment_products .parcel_reference').length; $('#dpdpoland_shipment_parcels td:nth-child(2) input[type="text"]').not('.modified').attr('value', ''); $('#dpdpoland_shipment_parcels td:nth-child(3) input[type="text"]').not('.modified').attr('value', default_value.toFixed(6)); $('#dpdpoland_shipment_parcels td:nth-child(2) input[type="hidden"]').attr('value', ''); $('#dpdpoland_shipment_products .parcel_reference').each(function () { var product_weight = $(this).parent().find('td:nth-child(3)').find('input[type="hidden"]').val(); product_weight = Number(product_weight); var product_id = $(this).find('input[type="hidden"]:nth-child(1)').val(); if ($(this).find('input[type="hidden"]:nth-child(2)').val() != '') { product_id = product_id + '_' + $(this).find('input[type="hidden"]:nth-child(2)').val(); } var parcel_id = $(this).siblings().find('select').val(); var description = ''; var $parcel_description_field = $('#dpdpoland_shipment_parcels tbody tr:nth-child(' + parcel_id + ') td:nth-child(2)').find('input[type="text"]'); var $parcel_weight_field = $('#dpdpoland_shipment_parcels tbody tr:nth-child(' + parcel_id + ') td:nth-child(3)').find('input[type="text"]'); var $parcel_height_field = $('#dpdpoland_shipment_parcels tbody tr:nth-child(' + parcel_id + ') td:nth-child(4)').find('input[type="text"]'); var $parcel_lenght_field = $('#dpdpoland_shipment_parcels tbody tr:nth-child(' + parcel_id + ') td:nth-child(5)').find('input[type="text"]'); var $parcel_width_field = $('#dpdpoland_shipment_parcels tbody tr:nth-child(' + parcel_id + ') td:nth-child(6)').find('input[type="text"]'); var $parcel_dimension_weight_field = $('#dpdpoland_shipment_parcels tbody tr:nth-child(' + parcel_id + ') td:nth-child(7)'); var $parcel_description_safe = $parcel_description_field.siblings('input[type="hidden"]:first'); var weights = $parcel_weight_field.val(); weights = Number(weights); weights = weights + product_weight; if ($parcel_description_safe.attr('value') == '') description = product_id; else description = $parcel_description_safe.attr('value') + ', ' + product_id; if (!$parcel_weight_field.hasClass('modified')) { $parcel_weight_field.attr('value', weights.toFixed(6)); } if (!$parcel_description_field.hasClass('modified')) { $parcel_description_field.attr('value', description); $parcel_description_safe.attr('value', description); } if (products_count == 1) { $('#dpdpoland_shipment_parcels td:nth-child(4) input[type="text"]').not('.modified').attr('value', default_value.toFixed(6)); $('#dpdpoland_shipment_parcels td:nth-child(5) input[type="text"]').not('.modified').attr('value', default_value.toFixed(6)); $('#dpdpoland_shipment_parcels td:nth-child(6) input[type="text"]').not('.modified').attr('value', default_value.toFixed(6)); $('#dpdpoland_shipment_parcels td:nth-child(7)').not('.modified').text(default_value.toFixed(3)); $parcel_height_field.attr('value', $('#product_height').val()); $parcel_lenght_field.attr('value', $('#product_length').val()); $parcel_width_field.attr('value', $('#product_width').val()); if (!$parcel_height_field.hasClass('modified') && !$parcel_lenght_field.hasClass('modified') && !$parcel_width_field.hasClass('modified') ) { var value = $parcel_height_field.val() * $parcel_lenght_field.val() * $parcel_width_field.val() / _DPDPOLAND_DIMENTION_WEIGHT_DIVISOR_; $parcel_dimension_weight_field.text(value.toFixed(3)); } } }); } function displayErrorInShipmentArea(errorText) { $('#dpdpoland_msg_container').hide().html('' + errorTextr + '
').slideDown(); } function recalculateParcels(deleted_parcel_number) { $('#dpdpoland_shipment_parcels input[name$="[number]"]').each(function () { var parcel_number = Number($(this).attr('value')); if (parcel_number > deleted_parcel_number) { var updated_parcel_number = parcel_number - 1; var $input = $(this).attr('value', updated_parcel_number); $(this).parent().text(updated_parcel_number).append($input); $(this).parent().parent().find('input[name^="parcels"]').each(function () { $(this).attr('name', $(this).attr('name').replace(parcel_number, updated_parcel_number)); }); $('#dpdpoland_shipment_products select.parcel_selection option[value="' + parcel_number + '"]').attr('value', updated_parcel_number).text(updated_parcel_number); } }); } function toggleShipmentCreationDisplay() { var $display_cont = $('#dpdpoland_shipment_creation'); var $legend = $display_cont.siblings('legend').find('a'); var fieldset_title_substitution = $legend.attr('rel'); var current_fieldset_title = $legend.text(); var $dpd_fieldset = $('fieldset#dpdpoland'); if ($dpd_fieldset.hasClass('extended')) { $display_cont.slideToggle(function () { $dpd_fieldset.removeClass('extended'); }); } else { $dpd_fieldset.addClass('extended'); $display_cont.slideToggle(); } $legend.attr('rel', current_fieldset_title).text(fieldset_title_substitution); } var animation_speed = 'fast'; function togglePudoMap() { var selected_carrier = $('select[name="dpdpoland_SessionType"] option:selected').val(); if (typeof selected_carrier == 'undefined') { return; } if (selected_carrier == 'pudo') { $('.pudo-map-container').slideDown(animation_speed); } else { $('.pudo-map-container').slideUp(animation_speed); } } function setDPDSenderAddress() { $('#ajax_running').slideDown(); $('#dpdpoland_sender_address_container .dpdpoland_address').fadeOut('fast'); var id_address = $('#sender_address_selection').val(); $.ajax({ type: "POST", async: true, url: dpdpoland_ajax_uri, dataType: "html", global: false, data: "ajax=true&token=" + encodeURIComponent(dpdpoland_token) + "&id_shop=" + encodeURIComponent(dpdpoland_id_shop) + "&id_lang=" + encodeURIComponent(dpdpoland_id_lang) + "&getFormattedSenderAddressHTML=true" + "&id_address=" + encodeURIComponent(id_address), success: function (address_html) { $('#ajax_running').slideUp(); $('#dpdpoland_sender_address_container .dpdpoland_address').html(address_html).fadeIn('fast'); }, error: function () { $('#ajax_running').slideUp(); } }); } function savePickupPointAddress(id_point) { var block = $('.js-result[data-point-id="' + id_point + '"]'); console.log(block.text()); }