From aa97a8c301f9b872e9d77533c47a8355be0a1355 Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Sat, 25 Jan 2020 18:34:03 +0100 Subject: [PATCH] Finalize products on meal plan feature (references #450) --- public/viewjs/mealplan.js | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/public/viewjs/mealplan.js b/public/viewjs/mealplan.js index 84451aa2..8e2c08ea 100644 --- a/public/viewjs/mealplan.js +++ b/public/viewjs/mealplan.js @@ -172,25 +172,26 @@ var calendar = $("#calendar").fullCalendar({ } element.attr("data-product-details", event.productDetails); - + console.log(productDetails); + console.log(mealPlanEntry); var productOrderMissingButtonDisabledClasses = "disabled"; - if (productDetails.stock_amount_aggregated < mealPlanEntry.product_amount) + if (parseFloat(productDetails.stock_amount_aggregated) < parseFloat(mealPlanEntry.product_amount)) { productOrderMissingButtonDisabledClasses = ""; } var productConsumeButtonDisabledClasses = "disabled"; - if (productDetails.stock_amount_aggregated >= mealPlanEntry.product_amount) + if (parseFloat(productDetails.stock_amount_aggregated) >= parseFloat(mealPlanEntry.product_amount)) { productConsumeButtonDisabledClasses = ""; } - var fulfillmentInfoHtml = __t('Enough in stock'); - var fulfillmentIconHtml = ''; - if (productDetails.stock_amount_aggregated < mealPlanEntry.product_amount) + fulfillmentInfoHtml = __t('Not enough in stock'); + var fulfillmentIconHtml = ''; + if (parseFloat(productDetails.stock_amount_aggregated) >= parseFloat(mealPlanEntry.product_amount)) { - fulfillmentInfoHtml = __t('Not enough in stock'); - var fulfillmentIconHtml = ''; + var fulfillmentInfoHtml = __t('Enough in stock'); + var fulfillmentIconHtml = ''; } var costsAndCaloriesPerServing = "" @@ -206,14 +207,14 @@ var calendar = $("#calendar").fullCalendar({ element.html('\
\
' + productDetails.product.name + '
\ -
' + mealPlanEntry.product_amount + " " + __n(mealPlanEntry.product_amount, productDetails.quantity_unit_purchase.name, productDetails.quantity_unit_purchase.name_plural) + '
\ +
' + mealPlanEntry.product_amount + " " + __n(mealPlanEntry.product_amount, productDetails.quantity_unit_purchase.name, productDetails.quantity_unit_purchase.name_plural) + '
\
' + fulfillmentIconHtml + " " + fulfillmentInfoHtml + '
\ ' + costsAndCaloriesPerServing + ' \
\ \ - \ -
\ + \ + \ + \
'); if (productDetails.product.picture_file_name && !productDetails.product.picture_file_name.isEmpty()) @@ -500,18 +501,19 @@ $(document).on('click', '.product-consume-button', function(e) Grocy.FrontendHelpers.BeginUiBusy(); var productId = $(e.currentTarget).attr('data-product-id'); - var consumeAmount = $(e.currentTarget).attr('data-product-amount'); + var consumeAmount = parseFloat($(e.currentTarget).attr('data-product-amount')); Grocy.Api.Post('stock/products/' + productId + '/consume', { 'amount': consumeAmount, 'spoiled': false }, function(bookingResponse) { Grocy.Api.Get('stock/products/' + productId, - function(result) + function (result) { var toastMessage = __t('Removed %1$s of %2$s from stock', consumeAmount.toString() + " " + __n(consumeAmount, result.quantity_unit_stock.name, result.quantity_unit_stock.name_plural), result.product.name) + '
' + __t("Undo") + ''; Grocy.FrontendHelpers.EndUiBusy(); toastr.success(toastMessage); + window.location.reload(); }, function(xhr) {