Show available quantity on Quickview page

Requirement is to show available quantity in the quickview popup

Javascript entry point file

_.extend(ProductDetailsQuickViewView.prototype, {
getContext: _.wrap(ProductDetailsQuickViewView.prototype.getContext, function (fn) {
						var original_Ret = fn.apply(this, _.toArray(arguments).slice(1));
						var isLoggedIn = ProfileModel.getInstance().get('isLoggedIn') === 'T';
						original_Ret.isLoggedIn = isLoggedIn;						
						var item = this.model.getItem();
						//console.log("itemshyma",item);
						var available = item.attributes.quantityavailable_detail;
						var condition2 = false;
						var namt = this.model.attributes.item.attributes.displayname;
						var seltd = this.getCookie('selectedLocation');
						var confgid;
						var quantityavailable;
						_.each(SC.CONFIGURATION.popup.data, function (eachResult) {
							var text2 = JSON.stringify(eachResult.text2);
							if (text2 == JSON.stringify(seltd)) {
								confgid = eachResult.text1;
							}
						});
						_.each(available.locations, function (eachResult) {
							if (eachResult.internalid == confgid) {
								condition2 = true;
								quantityavailable = eachResult.quantityavailable;

							}
						});
						original_Ret.pageHeader = namt;
						original_Ret.condition2 = condition2;
						var sumqa = 0;
						var available = this.model.attributes.item.attributes.quantityavailable_detail;						
						var condition2 = false;
						var seltd = this.getCookie('selectedLocation');
						var confgid;
						var quantityavailable;						
						var childitem = this.model.attributes.item.attributes.matrixchilditems_detail;
						_.each(SC.CONFIGURATION.popup.data, function (eachResult) {
							var text2 = JSON.stringify(eachResult.text2);
							if (text2 == JSON.stringify(seltd)) {
								confgid = eachResult.text1;
							}
						});
						if (available && available.locations) {
							_.each(available.locations, function (eachResult) {
								if (eachResult.internalid == confgid) {
									condition2 = true;
									if (childitem) {
										var stockqty;
										_.each(childitem, function (val) {
											stockqty = 0									
											_.each(val.quantityavailable_detail.locations, function (loc) {
												if (loc.internalid == confgid) {
													stockqty = loc.quantityavailable;
													//console.log('stockqty',stockqty)
												}
											})
											sumqa = sumqa + stockqty

										})
										quantityavailable = sumqa;
									}
									else {
										quantityavailable = eachResult.quantityavailable;
									}
								}
							})							
						}
						original_Ret.quantityavailable = quantityavailable;
						return original_Ret

					})
});

Leave a comment

Your email address will not be published. Required fields are marked *