Przeglądaj źródła

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 5 lat temu
rodzic
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");
             }