diff --git a/README.md b/README.md
index 286b192..88a4da6 100644
--- a/README.md
+++ b/README.md
@@ -46,13 +46,20 @@ Trzeba je później podmienić w kodzie w Wydzielonym Javascript na np.:
### Wady ###
- Nie ma faktury na inne dane(żeby nie używać tego samego zapytania co OSCOP Idosella, żeby nie pobierało opłat)
+- próba edycji zamówienia jak jest edycja zamówienia na punkty może się wywalać(za mało punktów lojalnościowych)
### Dodatkowe pomysły do zrealizowania ###
- Sprawdzanie logina w trakcie pisania(może być słabe dla ochrony danych klienta)
- Limit znaków | Wydłużanie się okienka od uwag do sklepu|kuriera
- W przypadku punktów odbioru na jednej mapie, można zamienić metody dostawy wymagające punkty odbioru na jeden wspólny.
-- Na mobilce przyklejenie zamów na dół ekranu na wypadek gdyby zalogowany użytkownik miał już wybrany punkt odbioru
- Przekreślona cena|Omnibus w wypadku gdy produkt jest w promocji
+- Przyklejony przycisk "Zamawiam i płacę" wraz z ceną i regulaminem
+- ApplePay na Iphone na górze reszta schowana
+- Klient wybierze inposta nie trzeba danych osobowych? domyślnie podaje kreseczki spigen.pl
+
+### Rozliczenie ###
+- Wersja lifetime
+- wersja abonamentowa 3, 6, 12 miesięcy
### Uwagi ###
- W przypadku sklepu w innym języku niż polskim upewnij się czy wszystko jest dobrze przetłumaczone!!!!!!!
@@ -61,3 +68,4 @@ Trzeba je później podmienić w kodzie w Wydzielonym Javascript na np.:
- Dziwna rzecz którą zauważyłem. Jak składasz zamówienie wraz z zakładaniem konta, ale okazuje się że brakuje któregoś produktu w koszyku, to konto dalej się zakłada(ponieważ w takiej sytuacji najpierw zakłada się konto, a później składa się zamówienie)
- nie można wybierać hurtownika w place-order
- Jak się klika Zamów bez rejestracji to jest faktura na inne dane. Schować?
+- BADANIE KONWERSJI PODCZAS WDROŻENIA DLA KLIENTÓW
\ No newline at end of file
diff --git a/index.xslt b/index.xslt
index f0db813..9b9ec5b 100644
--- a/index.xslt
+++ b/index.xslt
@@ -40,7 +40,7 @@
-
+
@@ -1166,7 +1166,6 @@
-
diff --git a/wydzielonyScript.js b/wydzielonyScript.js
index d210de6..f6b0526 100644
--- a/wydzielonyScript.js
+++ b/wydzielonyScript.js
@@ -814,7 +814,7 @@ function getNewPaymentsAndDeliveries(data = null) {
throwAjaxError(a);
app_shop.fn.ajaxLoadSite(0);
},
- success: function (e) {
+ success: async function (e) {
let prepaidMarkup = "";
// Stworzenie markupa dla metod dostaw
@@ -924,10 +924,16 @@ function getNewPaymentsAndDeliveries(data = null) {
const currentPayments = document.getElementById("osc_prepaids_method");
if(document.getElementById("osc_prepaids_method").innerHTML === "") currentPayments.insertAdjacentHTML("beforeend",'");
+
+ // Przygotowanie informacji o dostawie do obliczenia daty dostawy
+ const deliveryDateInfo = {deliveryVal: null, delivery: null, pickuppoint: null};
+ const firstInput = document.querySelector("#osc_order1 input");
+ if(firstInput) changeDeliveryInfoObject(deliveryDateInfo, firstInput);
+
// Wstawienie pickuppoint jeśli edycja i istnieje
if(data?.pickupData !== undefined && data?.pickupData !== null){
const selectedShipping = document.querySelector(`#cop_seection2 input#${deliveryId}`);
- checkPrevPickupPoint(
+ const pointExists = await checkPrevPickupPoint(
selectedShipping.parentElement.querySelector(".fselectedPoint"),
data.pickupData.id,
data.pickupData.name,
@@ -935,12 +941,13 @@ function getNewPaymentsAndDeliveries(data = null) {
data.pickupData.address.city,
data.pickupData.address.postcode,
data.deliveryMethodId
- ).then(pointExists=>{
- // Odznaczenie punktu jeśli punkt odbioru nie istnieje(Wcześniej był zaznaczony przy edycji)
- if(!pointExists) selectedShipping.checked = false;
- });
+ )
+ // Odznaczenie punktu jeśli punkt odbioru nie istnieje(Wcześniej był zaznaczony przy edycji)
+ if(!pointExists) selectedShipping.checked = false;
+ else changeDeliveryInfoObject(deliveryDateInfo, selectedShipping);
}// Sprawdzenie czy użytkownik ma zapisane poprzednio użyte metody w przeglądarce(tylko przy pierwszym załadowaniu strony)
else if(firstTimeLoadPage && prevOrderInfo && prevOrderInfo?.prevCountry === document.getElementById("client_region").value){
+ // POPRZEDNIa PŁATNOSC
const prevPaymentMethod = prevOrderInfo.prevPaymentMethod;
// Zaznaczenie metod płatności które nie tworzą popupa
@@ -952,7 +959,7 @@ function getNewPaymentsAndDeliveries(data = null) {
cloneElement(document.getElementById(paymentMethodId));
}
- // Poprzednia dostawa
+ // POPRZEDNIA DOSTAWA
const prevDeliveryMethod = prevOrderInfo.prevDeliveryMethod;
const prevDeliveryInput = document.querySelector(`input#${prevDeliveryMethod.id}`);
@@ -960,7 +967,7 @@ function getNewPaymentsAndDeliveries(data = null) {
if(prevDeliveryInput){
// Sprawdzenie czy dostawa miała punkt odbioru
if(prevDeliveryMethod.fselectedPoint){
- checkPrevPickupPoint(
+ const pointExists = await checkPrevPickupPoint(
prevDeliveryInput.parentElement.querySelector(".fselectedPoint"),
prevDeliveryMethod.fselectedPoint.deliveryPointId,
prevDeliveryMethod.fselectedPoint.name,
@@ -968,12 +975,12 @@ function getNewPaymentsAndDeliveries(data = null) {
prevDeliveryMethod.fselectedPoint.city,
prevDeliveryMethod.fselectedPoint.zipcode,
prevDeliveryMethod.fselectedPoint.courierId
- ).then(pointExists=>{
- if(pointExists) prevDeliveryInput.checked = true;
- });
+ )
+ if(pointExists) prevDeliveryInput.checked = true;
}else{
prevDeliveryInput.checked = true;
}
+ changeDeliveryInfoObject(deliveryDateInfo, prevDeliveryInput);
}
}
@@ -982,16 +989,17 @@ function getNewPaymentsAndDeliveries(data = null) {
if(paymentValue && checkedPayment && (checkedPayment.dataset.group === "card" || checkedPayment.dataset.group === "transfer")){
cloneElement(checkedPayment);
}
+
// Przeładowanie mapy
loadMap();
+
+ // Zmiana daty dostawy i pokazanych opcji dostawy
+ if(deliveryDateInfo.deliveryVal && deliveryDateInfo.delivery && deliveryDateInfo.pickuppoint) calculateDeliveryDate(deliveryDateInfo.deliveryVal, deliveryDateInfo.delivery, deliveryDateInfo.pickuppoint);
+
// Przeliczenie kosztu dostawy
calculateBasketCost();
- // Zmiana daty dostawy i pokazanych opcji dostawy
- const firstInput = document.getElementById("osc_order1 input");
- if(firstInput) deliveryDate(firstInput.value, firstInput.dataset.delivery, firstInput.dataset.pickuppoint);
- calculateBasketCost();
- app_shop.fn.ajaxLoadSite(0);
+ app_shop.fn.ajaxLoadSite(0);
firstTimeLoadPage = false;
},
});
@@ -1100,7 +1108,7 @@ function checkPrevShipping(){
// Przeliczenie kosztu i czasu dostawy i zapisanie nowej metody dostawy
function changeCurrentShippingInfo(shippingMethod){
calculateBasketCost();
- deliveryDate(shippingMethod.value, shippingMethod.dataset.delivery, shippingMethod.dataset.pickuppoint);
+ calculateDeliveryDate(shippingMethod.value, shippingMethod.dataset.delivery, shippingMethod.dataset.pickuppoint);
app_shop.vars.checkedShipping = shippingMethod.value;
}
document.getElementById("cop_seection2").addEventListener("click", e => {
@@ -1378,7 +1386,7 @@ function formatPrice(price, currencySign) {
};
// Funkcja od ustalenia daty dostawy
-function deliveryDate(deliveryVal, delivery, pickuppoint) {
+function calculateDeliveryDate(deliveryVal, delivery, pickuppoint) {
const deliveryMessageEl = document.querySelector("#order2_shiptime span:not(.operation_value)");
const deliveryDateEl = document.querySelector("#order2_shiptime .operation_value");
const date = delivery.split("#");
@@ -1393,6 +1401,12 @@ function deliveryDate(deliveryVal, delivery, pickuppoint) {
else deliveryDateEl.innerHTML = orderTxt[`shipping${parseInt(date[3])}`];
}
};
+// Zmiana informacji o dostawie
+function changeDeliveryInfoObject(deliveryObject, deliveryElement){
+ deliveryObject.deliveryVal = deliveryElement.value;
+ deliveryObject.delivery = deliveryElement.dataset.delivery;
+ deliveryObject.pickuppoint = deliveryElement.dataset.pickuppoint;
+}
// Obsługa klilnięć na elementy w podsumowaniu
document.getElementById("cop_seection3").addEventListener("click", (e) => {