470 lines
21 KiB
JavaScript
470 lines
21 KiB
JavaScript
/**
|
|
* 2014-2021 Presta-Mod.pl Rafał Zontek
|
|
*
|
|
* NOTICE OF LICENSE
|
|
*
|
|
* Poniższy kod jest kodem płatnym, rozpowszechanie bez pisemnej zgody autora zabronione
|
|
* Moduł można zakupić na stronie Presta-Mod.pl. Modyfikacja kodu jest zabroniona,
|
|
* wszelkie modyfikacje powodują utratę gwarancji
|
|
*
|
|
* http://presta-mod.pl
|
|
*
|
|
* DISCLAIMER
|
|
*
|
|
*
|
|
* @author Presta-Mod.pl Rafał Zontek <biuro@presta-mod.pl>
|
|
* @copyright 2014-2021 Presta-Mod.pl
|
|
* @license Licecnja na jedną domenę
|
|
* Presta-Mod.pl Rafał Zontek
|
|
*/
|
|
$(document).ready(function(){
|
|
//simple config.
|
|
//Only one step - highlighting(with description) "New" button
|
|
//hide EnjoyHint after a click on the button.
|
|
var enjoyhint_instance = false;
|
|
var current_step = 0;
|
|
|
|
function changeCurrentStep() {
|
|
current_step = enjoyhint_instance.getCurrentStep();
|
|
$('input[name="PMINPOSTPACZKOMATY_GUIDE"]').val(current_step);
|
|
$('.pminpostpaczkomaty-guide-step').text((current_step+1).toString() + ' / ' + enjoyhint_script_steps.length.toString());
|
|
}
|
|
|
|
//set script config
|
|
function resumePmGuide() {
|
|
enjoyhint_instance = new EnjoyHint({
|
|
onNext: changeCurrentStep,
|
|
onSkip: changeCurrentStep,
|
|
btnNextText: 'Dalej',
|
|
btnSkipText: 'Ukryj'
|
|
});
|
|
enjoyhint_instance.set(enjoyhint_script_steps);
|
|
enjoyhint_instance.setCurrentStep(current_step);
|
|
enjoyhint_instance.resume();
|
|
}
|
|
|
|
if ($('input[name="PMINPOSTPACZKOMATY_GUIDE"]').length && $('input[name="PMINPOSTPACZKOMATY_GUIDE"]').val()) {
|
|
current_step = parseInt($('input[name="PMINPOSTPACZKOMATY_GUIDE"]').val());
|
|
}
|
|
var page = 1;
|
|
enjoyhint_script_steps = [
|
|
{
|
|
selector:'.start-guide',
|
|
shape: 'circle',
|
|
description: `
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Witaj w przewodniku konfiguracji modułu Paczkomaty InPost<br/>
|
|
Samouczek jest dostępny tutaj.
|
|
</p>
|
|
`,
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty #refreshcategories',
|
|
shape: 'circle',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Jeśli samouczek nie będzie wystarczający, skorzystaj z instrukcji.
|
|
</p>
|
|
`,
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .sidebar',
|
|
shape: 'circle',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Główne zakładki konfiguracji zostały wyróżnione pogrubioną czcionką, aby ułatwić ich odnalezienie.<br/>
|
|
Samouczek dotyczący konfiguracji składa się z 31 kroków. Czy to dużo? <br/>
|
|
W rzeczywistości konfiguracja zajmie jedynie kilka minut. Dzięki samouczkowi na pewno pójdzie sprawnie i bezproblemowo.<br/>
|
|
</p>
|
|
`,
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(0)"]',
|
|
shape: 'circle',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Przejdźmy teraz do konfiguracji połączenia z InPost.
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(0)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(0)',
|
|
description: `
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Zalecamy wypróbowanie nowego interfejsu API SHIPX, który oferuje szerszy zakres funkcjonalności. Do jego autoryzacji potrzebny jest Token i ID organizacji, a te dane można uzyskać w sekcji "Moje konto > API" na stronie manager.paczkomaty.pl. <br/>
|
|
Oczywiście, jeśli wolisz, możesz nadal korzystać ze starszej wersji API, która wymaga autoryzacji za pomocą adresu e-mail i hasła z managera.paczkomaty.pl.<br/>
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(0)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty button[name="saveAndTest"]:eq(0)',
|
|
shape: 'circle',
|
|
description: `
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Po wprowadzeniu danych, spróbuj nawiązać połączenie z API.
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(0)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(1)"]',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Teraz wprowadzamy dane nadawcy.
|
|
</p>
|
|
`,
|
|
shape: 'circle',
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(1)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(1)',
|
|
description: `
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Proszę wypełnić wszystkie poniższe pola. Jeśli nazwa Twojej firmy nie zawiera imienia i nazwiska, proszę wprowadzić dane osoby upoważnionej do kontaktu z InPost.<br/>
|
|
Proszę wpisać numer telefonu komórkowego bez prefiksu (+48).<br/>
|
|
Jeśli używasz tokenu ShipX, niektóre dane zostaną automatycznie pobrane z Twojego konta w InPost.
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(1)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(2)"]',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Konfiguracja przewoźnika dla przesyłek opłaconych z góry (przelew, płatności elektroniczne).
|
|
</p>
|
|
`,
|
|
shape: 'circle',
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(2)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(2)',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
W przypadku braku na liście metody dostawy, może to oznaczać, że jest ona już powiązana z innym modułem.<br />
|
|
Jeśli potrzebujesz utworzyć nową metodę dostawy, proszę skorzystać z przycisku "Utwórz metodę dostawy". Ta opcja przekieruje Cię do tworzenia nowego przewoźnika. Nie zapomnij uzupełnić ceny.<br />
|
|
Proszę określić domyślny rozmiar przesyłek, który najlepiej odpowiada Twoim potrzebom. Nie martw się, możesz go później zmienić podczas generowania etykiety.<br />
|
|
<strong><u>Uwaga:</u> Aby zaznaczyć kilka pozycji jednocześnie, użyj klawisza CTRL.</strong>
|
|
</p>
|
|
`,
|
|
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(2)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(3)"]',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">Konfiguracja przewoźnika dotyczy przesyłek za pobraniem, czyli przesyłek, które zostaną opłacone przez odbiorcę podczas odbioru przesyłki.</p>
|
|
`,
|
|
shape: 'circle',
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(3)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(3)',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Ten krok można całkowicie pominąć - nie chcę wysyłać przesyłek za pobraniem.<br />
|
|
Konfiguracja jest podobna do Przesyłek opłaconych z góry.<br />
|
|
<i>Jeżeli wybierzesz tą samą metodę dostawy jak w przypadku przesyłek opłaconych z góry - przy każdym zamówieniu moduł zaznaczy Pobranie: Tak,<br />aby tego uniknąć zalecamy utworzenie osobnej metody dostawy dla InPost paczkomaty pobranie.</i>
|
|
</p>
|
|
`,
|
|
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(3)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(4)"]',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">Ustawienia przesyłki</p>
|
|
`,
|
|
shape: 'circle',
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(4)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(4)',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
W tym punkcie wybierasz sposób nadania oraz typ drukowanej etykiety. Możesz na etykietach automatycznie dodawać numer zamówienia lub imię i nazwisko klienta za pomocą kodu referencyjnego.<br />
|
|
</p>
|
|
`,
|
|
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(4)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(5)"]',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Ustawienia mapy
|
|
</p>
|
|
`,
|
|
shape: 'circle',
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(5)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(5)',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Wybór paczkomatu z listy - udostępni twoim klientom prosty wybór paczkomatu.<br/>
|
|
Geolokalizacja działa gdy masz włączony SSL (zielona kłódka na pasku przeglądarki).
|
|
</p>
|
|
`,
|
|
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(5)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(6)"]',
|
|
description: `
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Ustawienia położenia
|
|
</p>
|
|
`,
|
|
shape: 'circle',
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(6)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(6)',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Jeżeli poprawnie skonfigurowałeś moduł oraz metodę dostawy możesz spróbować złożyć testowe zamówienie.
|
|
W tym kroku możesz wybrać które położenie jest najlepsze dla twojego sklepu.
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(6)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(7)"]',
|
|
description: `
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Ustawianie statusów zamówienia
|
|
</p>
|
|
`,
|
|
shape: 'circle',
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(7)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(7)',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Chcesz klienta informować o wysłanych paczkach? <br/>
|
|
Możesz automatycznie oznaczać przesyłki odebrane przez kuriera, dodatkowo sam będziesz wiedział czy klient odebrał przesyłkę.
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(7)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector: $('#PMINPOSTPACZKOMATY_OS_on').parent().parent().parent(),
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Chcesz zmienić status zamówienia po wydrukowaniu listu? Nic prostszego - zaznacz Tak
|
|
Następnie ustaw Status zamówienia po wysłaniu
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(7)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector: $('#PMINPOSTPACZKOMATY_STATUS').parent().parent(),
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Wybierz jaki status mają mieć przesyłki po wysłaniu
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(7)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector: $('select[name="PMINPOSTPACZKOMATY_STATUS_AV[]"').parent().parent(),
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Możesz wybrać które statusy mają być aktualizowane - jest opcja dla zaawansowanych użytkowników - śmiało możesz zaznaczyć wszystkie <i>Ctrl + A</i><br/>
|
|
<strong><u>Uwaga:</u> Aby zaznaczyć kilka pozycji jednocześnie, użyj klawisza CTRL.</strong>
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(7)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector: $('#PMINPOSTPACZKOMATY_STATUS_PIC').parent().parent(),
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Jeśli chcesz, możesz zmienić status przesyłki tuż po jej nadaniu w paczkomacie lub odebraniu przez kuriera. W tym celu wybierz odpowiedni status z listy.
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(7)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector: $('#PMINPOSTPACZKOMATY_STATUS_DEL').parent().parent(),
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Wybierz status, który ma być przypisany do przesyłek po ich dostarczeniu. <br />
|
|
Pamiętaj, aby również dodać zadanie cron, które będzie automatycznie aktualizowało statusy przesyłek.
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(7)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(8)"]',
|
|
description: `
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Ustawianie wiadomości do klienta
|
|
</p>
|
|
`,
|
|
shape: 'circle',
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(8)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(8)',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Możesz wysłać wiadomość do klienta z informacją o wybranym paczkomacie.<br />
|
|
Aby to zrobić, wybierz opcję "Wyślij dodatkową wiadomość" i wpisz treść wiadomości w polu "Wiadomość do klienta".<br />
|
|
W treści wiadomości możesz wykorzystać zmienne, aby automatycznie wypełnić odpowiednie dane, np. imię i nazwisko klienta, adres paczkomatu, numer przesyłki itp.<br />
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(8)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(9)"]',
|
|
description: `
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Ustawianie wiadomości do zamówienia
|
|
</p>
|
|
`,
|
|
shape: 'circle',
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(9)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(9)',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Jeśli skorzystasz z tej opcji, informacja o wybranym paczkomacie zostanie automatycznie dodana do zamówienia. Dzięki temu możesz łatwo pobrać informacje o wybranym paczkomacie za pomocą API PrestaShop.
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(9)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.list-group-item[data-target=".panel:eq(12)"]',
|
|
description: `
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Integracja API Baselinkera
|
|
</p>
|
|
`,
|
|
shape: 'circle',
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(12)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
{
|
|
selector:'.pminpostpaczkomaty .panel:eq(12)',
|
|
description:`
|
|
<span class="pmstep">`+(page++)+` / {total}</span><p class="pmguide-description">
|
|
Czy korzystasz z Baselinkera? Jeśli tak, możesz przesyłać informacje o wybranych paczkomatach za pomocą API Baselinkera.<br />
|
|
Baselinker może być podłączony poprzez specjalny konektor w postaci pliku PHP. W ten sposób przesyłki automatycznie trafiają do panelu Baselinkera. Jeśli ta opcja nie działa, spróbuj zaktualizować konektor lub skonfiguruj integrację API Baselinker.<br />
|
|
W przypadku połączenia poprzez API PrestaShop skonfiguruj integrację API Baselinker.
|
|
</p>
|
|
`,
|
|
onBeforeStart: function(){
|
|
$('a[data-target=".panel:eq(12)"]').click();
|
|
return true;
|
|
},
|
|
},
|
|
|
|
];
|
|
for(i in enjoyhint_script_steps) {
|
|
enjoyhint_script_steps[i].description = enjoyhint_script_steps[i].description.replace('{total}',enjoyhint_script_steps.length);
|
|
enjoyhint_script_steps[i]['nextButton'] = {text: "Dalej"};
|
|
enjoyhint_script_steps[i]['skipButton'] = {text: "Ukryj"};
|
|
if (i) {
|
|
enjoyhint_script_steps[i]['prevButton'] = {text: "Wstecz"};
|
|
}
|
|
if (i == enjoyhint_script_steps.length-1) {
|
|
enjoyhint_script_steps[i]['showNext'] = false;
|
|
} else {
|
|
enjoyhint_script_steps[i]['showNext'] = true;
|
|
}
|
|
}
|
|
|
|
$(document).on('click', '.start-guide', function(){
|
|
resumePmGuide()
|
|
return false;
|
|
})
|
|
$('.pminpostpaczkomaty-guide-step').text((parseInt(current_step)+1).toString() + ' / ' + enjoyhint_script_steps.length.toString());
|
|
});
|
|
|