From 1bedc1f03a4d6c6bb6a7dd3451937fbf7d878b96 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Mon, 21 Sep 2020 17:45:15 +0200 Subject: [PATCH] wait #3828 @1.5 --- .../fluidbook/cart/fluidbook.cart.mopec.js | 52 +++++++++++++++++-- 1 file changed, 47 insertions(+), 5 deletions(-) diff --git a/js/libs/fluidbook/cart/fluidbook.cart.mopec.js b/js/libs/fluidbook/cart/fluidbook.cart.mopec.js index d384665c..82e57f3e 100644 --- a/js/libs/fluidbook/cart/fluidbook.cart.mopec.js +++ b/js/libs/fluidbook/cart/fluidbook.cart.mopec.js @@ -93,7 +93,7 @@ FluidbookCartMopec.prototype = { this.getProductIDBySKU(ref, function (product_id) { if (product_id === null) { - var url = this.fluidbook.settings.product_zoom_references[ref]; + var url = this.fluidbook.settings.product_zoom_references[ref][0]; $this.fluidbook.hideLoader(); $this.fluidbook.openInPopupIframe(url); } else { @@ -134,11 +134,45 @@ FluidbookCartMopec.prototype = { return; } var $this = this; + console.log('check qty for ' + sku); this.getProductIDBySKU(sku, function (product_id) { if ($this.minQuantities[sku] === undefined) { - $this.minQuantities[sku] = 1; + console.log('no qty for ' + sku); + var e = sku.split('.'); + if (e.length > 1) { + e.pop(); + var nsku = e.join('.') + '.'; + console.log('check qty for ' + nsku); + $this.getProductIDBySKU(nsku, function (product_id) { + if ($this.minQuantities[nsku] === undefined) { + console.log('no qty for ' + nsku); + var ee = nsku.split('.'); + if (ee.length > 1) { + ee.pop(); + ee.pop(); + var nnsku = ee.join('.') + '.'; + console.log('check qty for ' + nnsku); + $this.getProductIDBySKU(nnsku, function (product_id) { + console.log('no qty for ' + nnsku); + if ($this.minQuantities[nnsku] === undefined) { + $this.minQuantities[nnsku] = 1; + } + $this.minQuantities[nsku] = $this.minQuantities[nnsku]; + $this.minQuantities[sku] = $this.minQuantities[nnsku]; + callback($this.minQuantities[nnsku]); + }); + return; + } + } else { + $this.minQuantities[sku] = $this.minQuantities[nsku]; + } + callback($this.minQuantities[nsku]); + }); + return; + } + } else { + callback($this.minQuantities[sku]); } - callback($this.minQuantities[sku]); }); }, @@ -185,6 +219,7 @@ FluidbookCartMopec.prototype = { if (data[0].min !== undefined) { min = data[0].min; } + console.log('set min qty for ' + sku + ' : ' + min) $this.minQuantities[sku] = min; } $this.idBySku[sku] = product_id; @@ -271,6 +306,11 @@ FluidbookCartMopec.prototype = { var unit = $this.parseFloat(item.product_price_value); var ht = unit * qty; + var options = {}; + $.each(item.options, function (k, opt) { + options[opt.option_id] = opt.option_value; + }); + content += ''; content += '' + item.product_name + '
' + $this.fluidbook.l10n.__('unit price') + ': ' + $this.formatPrice(unit); content += '
' + $this.fluidbook.l10n.__('price') + ': ' + $this.formatPrice(ht) + '
'; @@ -278,7 +318,7 @@ FluidbookCartMopec.prototype = { if (step === undefined) { step = 1; } - content += ''; + content += ''; content += '' + $this.formatPrice(unit) + ''; content += '' + $this.formatPrice(ht) + ''; content += '' + getSpriteIcon('interface-close') + ''; @@ -308,6 +348,7 @@ FluidbookCartMopec.prototype = { var $this = this; var input = $(el).find('input.cartqty'); var item_id = $(input).attr('name'); + var options = $(input).data('options'); var newVal = $this.parseInt($(input).val()); if (newVal === 0) { @@ -315,10 +356,11 @@ FluidbookCartMopec.prototype = { }); } else { this.fluidbook.displayLoader(); + $.ajax({ url: $this.baseURL + 'checkout/cart/updateItemOptions/id/' + item_id, method: "post", - data: {item: item_id, qty: newVal, form_key: this.getFormKey()}, + data: {item: item_id, qty: newVal, super_attribute: options, form_key: this.getFormKey()}, xhrFields: {withCredentials: true}, success: function () { $this.updateCartData(function () { -- 2.39.5