Procházet zdrojové kódy

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 před 5 roky
rodič
revize
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");
             }