var url_html = null; var url_iframe = null; var url_submit = null; var url_change_order_state = null; var url_label = null; var url_cancel_order = null; var button_blocker = false; var wooOrderData = { dimensions: {}, address_delivery: {}, order_data: {} }; $(document).ready(function () { console.log("| epaka-admin.js is loaded!"); // pobieranie linkow url_html = $('input[name="url_html"]').val(); url_iframe = $('input[name="url_iframe"]').val(); url_submit = $('input[name="url_sender"]').val(); url_change_order_state = $('input[name="url_change_order_state"]').val(); url_label = $('input[name="url_label"]').val(); url_protocol = $('input[name="url_protocol"]').val(); url_cancel_order = $('input[name="url_cancel_order"]').val(); // ukrywanie zrodel w wysylce zamowienia w adminie $('#order-sources-list').parentsUntil('.product-row').hide(); // pobieranie formularza $(document).off('click', '#epaka-order-get-iframe'); $(document).on('click', '#epaka-order-get-iframe', function (e) { console.log('| get Epaka iframe order START...'); console.log(url_iframe); console.log(url_html); // debugger; $('#iframe-loader-gif').fadeIn(); e.preventDefault(); $.post(url_iframe, { url_html: url_html }, function (response) { console.log('| get Epaka iframe order STOP.'); console.log(response); // debugger; if (typeof response.status !== "undefined" && response.status == 'ERROR') { alert(response.message) } else { $('#epaka-iframe-order-body').html(response).show(); } }, "html"); }); // pobieranie etykiety $(document).off('click', '.epaka-order-get-label'); $(document).on('click', '.epaka-order-get-label', function (e) { console.log('| get Epaka Order Label START...'); var that = $(this); if ( ! blocker()) { blocker('block', that); } else { return false; } var zebra = $(this).attr('data-zebra'); that.children("span").hide(); that.children("img").show(); e.preventDefault(); $.post(url_label, { zebra: zebra }, function (response) { console.log('| get Epaka Order Label STOP.'); console.log(response); blocker('unblock', that); that.children("img").hide(); that.children("span").show(); if (response.status == 'ERROR') { alert(response.message); } else { var byteCharacters = atob(response.label); var byteNumbers = new Array(byteCharacters.length); for (var i = 0; i < byteCharacters.length; i++) { byteNumbers[i] = byteCharacters.charCodeAt(i); } var byteArray = new Uint8Array(byteNumbers); var file = new Blob([byteArray], { type: 'application/pdf;base64' }); var fileURL = URL.createObjectURL(file); window.open(fileURL); } }, "json"); }); // pobieranie protokulu $(document).off('click', '.epaka-order-get-protocol'); $(document).on('click', '.epaka-order-get-protocol', function (e) { console.log('| get Epaka Order Protocol START...'); var that = $(this); if ( ! blocker()) { blocker('block', that); } else { return false; } that.children("span").hide(); that.children("img").show(); e.preventDefault(); $.post(url_protocol, { }, function (response) { console.log('| get Epaka Order Protocol STOP.'); console.log(response); blocker('unblock', that); that.children("img").hide(); that.children("span").show(); if (response.status == 'ERROR') { alert(response.message); } else { var byteCharacters = atob(response.protocol); var byteNumbers = new Array(byteCharacters.length); for (var i = 0; i < byteCharacters.length; i++) { byteNumbers[i] = byteCharacters.charCodeAt(i); } var byteArray = new Uint8Array(byteNumbers); var file = new Blob([byteArray], { type: 'application/pdf;base64' }); var fileURL = URL.createObjectURL(file); window.open(fileURL); } }, "json"); }); // anulowanie zamowienia na Epaka.pl $(document).off('click', '#epaka-order-cancel'); $(document).on('click', '#epaka-order-cancel', function (e) { console.log('| Epaka Cancel Order START...'); var that = $(this); if ( ! blocker()) { blocker('block', that); } else { return false; } that.children("span").hide(); that.children("img").show(); e.preventDefault(); $.post(url_cancel_order, { }, function (response) { console.log('| Epaka Cancel Order STOP.'); // var response = JSON.parse(response); console.log(response); if (response.status == 'ERROR') { alert(response.message); window.location.reload(); } else { console.log('| change Order status START...'); $.post(url_change_order_state, { id_status: 6 }, function (response2) { console.log('| change Order status STOP.'); console.log(response2); // blocker('unblock', that); that.children("img").hide(); that.children("span").show(); if (response2.status == "OK") { alert(response.cashbackTypeDesc); } else { alert(response.message); } window.location.reload(); }, "json"); } }, "json"); }); // zapobiega kliknieciu w nieoskryptowane elementy jesli bloker aktywny $(document).off('click', '.blocker'); $(document).on('click', '.blocker', function (e) { if ( blocker()) { e.preventDefault(); return false; } else { return true; } }); // automatyczne klikniecie w guzik pokazania formularza epaki // if ($('#epaka-order-get-iframe').length) { // $('#epaka-order-get-iframe').click(); // } }); // funkcja blokujaca klikniecie w cos jesli juz bylo klikniete w cos innego (class="blocker") function blocker(operation = null, clicked_element = null) { if (operation != null && clicked_element != null) { switch (operation) { case "block": button_blocker = true; $('.blocker').animate({ opacity: 0.5 }, 100); break; case "unblock": button_blocker = false; $('.blocker').animate({ opacity: 1 }, 100); break; default: button_blocker = false; $('.blocker').animate({ opacity: 1 }, 100); break; } } else { return button_blocker; } } // window.setWooOrder = function setWooOrder() { function setWooOrder() { $("#epakaFormIframe")[0].contentWindow.iframeSession = $('input[name="api_session"]').val(); if ($('input[name="dimensions_width"]').length) { wooOrderData.dimensions.width = parseFloat($('input[name="dimensions_width"]').val()); wooOrderData.dimensions.height = parseFloat($('input[name="dimensions_height"]').val()); wooOrderData.dimensions.length = parseFloat($('input[name="dimensions_depth"]').val()); wooOrderData.dimensions.weight = parseFloat($('input[name="dimensions_weight"]').val()); } wooOrderData.address_delivery.first_name = $('input[name="address_delivery_firstname"]').val(); wooOrderData.address_delivery.last_name = $('input[name="address_delivery_lastname"]').val(); wooOrderData.address_delivery.company = $('input[name="address_delivery_company"]').val(); wooOrderData.address_delivery.country = $('input[name="address_delivery_country"]').val(); wooOrderData.address_delivery.city = $('input[name="address_delivery_city"]').val(); wooOrderData.address_delivery.postcode = $('input[name="address_delivery_postcode"]').val(); wooOrderData.address_delivery.street = $('input[name="address_delivery_street"]').val(); wooOrderData.address_delivery.house_number = $('input[name="address_delivery_house_number"]').val(); wooOrderData.address_delivery.flat_number = $('input[name="address_delivery_flat_number"]').val(); wooOrderData.address_delivery.phone = $('input[name="address_delivery_phone"]').val(); wooOrderData.address_delivery.email = $('input[name="address_delivery_email"]').val(); wooOrderData.order_data.carrier_epaka_id = $('input[name="carrier_epaka_id"]').val(); wooOrderData.order_data.carrier_epaka_point_code = $('input[name="carrier_epaka_point_code"]').val(); wooOrderData.order_data.carrier_epaka_point_name = $('input[name="carrier_epaka_point_name"]').val(); wooOrderData.order_data.content = $('input[name="order_data_content"]').val(); // console.log(wooOrderData); } function setFormData() { if (wooOrderData == null) return; // wymiary if (wooOrderData.dimensions != null) { if (wooOrderData.dimensions.width != 0) { $("#epakaFormIframe").contents().find("#ZamowieniePaczka0Szerokosc").val(wooOrderData.dimensions.width); } if (wooOrderData.dimensions.height != 0) { $("#epakaFormIframe").contents().find("#ZamowieniePaczka0Wysokosc").val(wooOrderData.dimensions.height); } if (wooOrderData.dimensions.length != 0) { $("#epakaFormIframe").contents().find("#ZamowieniePaczka0Dlugosc").val(wooOrderData.dimensions.length); } if (wooOrderData.dimensions.weight != 0) { $("#epakaFormIframe").contents().find("#ZamowieniePaczka0Waga").val(wooOrderData.dimensions.weight); } } // dane odbiorcy $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaImie").val(wooOrderData.address_delivery.first_name); $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaNazwisko").val(wooOrderData.address_delivery.last_name); $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaKod").val(wooOrderData.address_delivery.postcode); $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaMiasto").val(wooOrderData.address_delivery.city); $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaUlica").val(wooOrderData.address_delivery.street); $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaNrdomu").val(wooOrderData.address_delivery.house_number); $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaNrlokalu").val(wooOrderData.address_delivery.flat_number); $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaTelefon").val(wooOrderData.address_delivery.phone); $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaEmail").val(wooOrderData.address_delivery.email); // zawartosc $("#epakaFormIframe").contents().find("#ZamowienieZawartosc").val(wooOrderData.order_data.content); // obsluga zagranicznych // debugger; if (wooOrderData.address_delivery.country != "Poland" && wooOrderData.address_delivery.country != "Polska") { $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaKraj")[0].selectize.setValue(wooOrderData.address_delivery.country).change(); $("#epakaFormIframe").contents().find("#wysylamzagranice").click(); } // jesli sa wymiary if (Object.keys(wooOrderData.dimensions).length !== 0 && wooOrderData.dimensions.height != 0 && wooOrderData.dimensions.length != 0 && wooOrderData.dimensions.width != 0 && wooOrderData.dimensions.weight != 0) { $("#epakaFormIframe").contents().find("#ZamowienieKurierId" + wooOrderData.order_data.carrier_epaka_id).click(); $("#epakaFormIframe")[0].contentWindow.countPrices(function () { $("#epakaFormIframe")[0].contentWindow.preference_flag = 1; $("#epakaFormIframe")[0].contentWindow.inputsHoudini($("#epakaFormIframe")[0].contentWindow.selected_courier, false); if (wooOrderData.order_data.carrier_epaka_point_code != "" && wooOrderData.order_data.carrier_epaka_point_name != "") { $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaPaczkomat").val(wooOrderData.order_data.carrier_epaka_point_code); $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaPaczkomatOpis").val(wooOrderData.order_data.carrier_epaka_point_name); } setTimeout(function () { $("#epakaFormIframe")[0].contentWindow.preference_flag = 0; }, 1000); $("#epakaFormIframe")[0].contentWindow.getDatesAndServices($("#epakaFormIframe")[0].contentWindow.selected_courier, undefined, $("#epakaFormIframe")[0].contentWindow.extras); }); } // jesli nie ma wymiarow else { var timeoutChecker = setInterval(function () { console.log($("#epakaFormIframe")[0].contentWindow.calcRes); if (typeof $("#epakaFormIframe")[0].contentWindow.calcRes != "undefined") { $("#epakaFormIframe").contents().find("#ZamowienieKurierId" + wooOrderData.order_data.carrier_epaka_id).trigger('click'); $("#epakaFormIframe")[0].contentWindow.countPrices(function () { $("#epakaFormIframe")[0].contentWindow.preference_flag = 1; $("#epakaFormIframe")[0].contentWindow.inputsHoudini($("#epakaFormIframe")[0].contentWindow.selected_courier, false); if (wooOrderData.order_data.carrier_epaka_point_code != "" && wooOrderData.order_data.carrier_epaka_point_name != "") { $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaPaczkomat").val(wooOrderData.order_data.carrier_epaka_point_code); $("#epakaFormIframe").contents().find("#ZamowienieOdbiorcaPaczkomatOpis").val(wooOrderData.order_data.carrier_epaka_point_name); } setTimeout(function () { $("#epakaFormIframe")[0].contentWindow.preference_flag = 0; }, 1000); $("#epakaFormIframe")[0].contentWindow.getDatesAndServices($("#epakaFormIframe")[0].contentWindow.selected_courier, undefined, $("#epakaFormIframe")[0].contentWindow.extras); }); clearInterval(timeoutChecker); } }, 1000); } // submit $("#epakaFormIframe")[0].contentWindow.document.getElementById("ZamowienieZlozForm").onsubmit = function (e) { e.preventDefault(); console.log('| send Order START...'); var order_data = $("#epakaFormIframe").contents().find("#ZamowienieZlozForm").serializeArray(); // to API Epaka $.post(url_submit, order_data, function (response) { console.log('| send Order STOP.'); console.log(response); if (response.status == "OK") { $('#epakaAdminOrder').fadeOut(); console.log('| change Order status START...'); $.post(url_change_order_state, { id_status: 4 }, function (response2) { console.log('| change Order status STOP.'); console.log(response2); if (response2.status == "OK") { $('#epakaAdminOrder').fadeOut(); alert(response.message); window.location.reload(); } else { alert("Coś poszło nie tak ze zmianą statusu zamówienia po stronie PrestaShop"); } }, "json"); } else { alert(response.message); } }, "json"); }; // przewiniecie do popupu wysylania $("#epakaFormIframe")[0].contentWindow.document.getElementById("submit-button").onclick = function () { var observer = setInterval(function () { if ($("#epakaFormIframe")[0].contentWindow.submitPopup) { clearTimeout(observer); var offset = $("#epaka-iframe-order-header").offset(); $("html, body").animate({ scrollTop: offset.top-100 }, 250); } }, 250); }; } // akcje startujace automatycznie po wczytaniu iframe'a $(document).on('iframeformjsready', function () { console.log('| iframe is ready!'); console.log('| set form data START...'); $('#epaka-order-get-iframe').hide(); $('.trigger-epaka-order').hide(); $('#epaka-iframe-order-body').fadeIn(); setWooOrder(); setFormData(); console.log('| set form data STOP.'); }); $(document).on('iframebeforeready', function () { }); $(document).on('iframeready', function () { });