Parcourir la source

Bug fix: updating an ingredients quantity and unit at the same time gave incorrect quantity.
Updating an ingredient deletes the ingredient and then adds it back with the new data.

Lee Morgan il y a 5 ans
Parent
commit
b58bf02969

+ 1 - 1
controllers/ingredientData.js

@@ -153,7 +153,7 @@ module.exports = {
                             merchant.inventory[i].quantity = req.body.quantity;
                         }
 
-                        updatedIngredient.quantity = req.body.quantity;
+                        updatedIngredient.quantity = helper.convertQuantityToBaseUnit(req.body.quantity, req.body.unit);
                         updatedIngredient.unit = req.body.unit;
                         
                         break;

+ 3 - 6
views/dashboardPage/bundle.js

@@ -1666,7 +1666,7 @@ let editIngredient = {
             data.quantity = quantity * unitSize;
             data.unitSize = unitSize;
         }else{
-            data.quantity = ingredient.convertToBase(quantity);
+            data.quantity = quantity;
         }
 
         //Get the measurement unit
@@ -1693,12 +1693,9 @@ let editIngredient = {
             if(typeof(response) === "string"){
                 banner.createError(response);
             }else{
-                ingredient.ingredient.name = response.ingredient.name;
-                ingredient.ingredient.category = response.ingredient.category;
-                ingredient.ingredient.unitSize = response.ingredient.unitSize;
-                ingredient.ingredient.unit = response.unit;
+                merchant.removeIngredient(merchant.getIngredient(response.ingredient._id));
+                merchant.addIngredient(response.ingredient, response.quantity, response.unit);
 
-                merchant.updateIngredient(ingredient, response.quantity);
                 controller.openStrand("ingredients");
                 banner.createNotification("INGREDIENT UPDATED");
             }

+ 3 - 6
views/dashboardPage/js/sidebars/editIngredient.js

@@ -83,7 +83,7 @@ let editIngredient = {
             data.quantity = quantity * unitSize;
             data.unitSize = unitSize;
         }else{
-            data.quantity = ingredient.convertToBase(quantity);
+            data.quantity = quantity;
         }
 
         //Get the measurement unit
@@ -110,12 +110,9 @@ let editIngredient = {
             if(typeof(response) === "string"){
                 banner.createError(response);
             }else{
-                ingredient.ingredient.name = response.ingredient.name;
-                ingredient.ingredient.category = response.ingredient.category;
-                ingredient.ingredient.unitSize = response.ingredient.unitSize;
-                ingredient.ingredient.unit = response.unit;
+                merchant.removeIngredient(merchant.getIngredient(response.ingredient._id));
+                merchant.addIngredient(response.ingredient, response.quantity, response.unit);
 
-                merchant.updateIngredient(ingredient, response.quantity);
                 controller.openStrand("ingredients");
                 banner.createNotification("INGREDIENT UPDATED");
             }