Răsfoiți Sursa

Fix broken edit and update buttons for ingredients

Lee Morgan 6 ani în urmă
părinte
comite
9e556aeb00
2 a modificat fișierele cu 13 adăugiri și 4 ștergeri
  1. 2 2
      routes.js
  2. 11 2
      views/inventory/inventory.js

+ 2 - 2
routes.js

@@ -7,8 +7,8 @@ module.exports = function(app){
     app.post("/merchant/create", home.createMerchant);
     app.post("/merchant/update", home.updateMerchant);
     app.post("/ingredients/create", home.createNewIngredients);
-    app.post("/ingredients/update", home.updateIngredient);
-    app.post("/ingredients/remove", home.removeIngredient);
+    // app.post("/ingredients/update", home.updateIngredient);
+    // app.post("/ingredients/remove", home.removeIngredient);
     app.post("/ingredients/createone", home.createIngredient);
     app.get("/recipes", home.displayRecipes);
     app.post("/recipes/ingredients/remove", home.deleteRecipeIngredient);

+ 11 - 2
views/inventory/inventory.js

@@ -59,7 +59,7 @@ let filter = ()=>{
     for(let item of merchant.inventory){
         if(item.ingredient.name.toLowerCase().includes(searchString)){
             items.push({
-                id: item.ingredient._id,
+                id: item._id,
                 name: item.ingredient.name,
                 category: item.ingredient.category,
                 quantity: item.quantity,
@@ -100,6 +100,8 @@ let updateOne = (id, row, originalQuantity)=>{
     quantityField.removeChild(quantityField.firstChild);
 
     if(validator.ingredient.quantity(quantity)){
+        let updateIngredient = merchant.inventory.find(i => i._id === id);
+        updateIngredient.quantity = quantity;
         axios.post("/ingredients/update", {
             id: id,
             quantity: quantity
@@ -123,7 +125,14 @@ let updateOne = (id, row, originalQuantity)=>{
 
 //Delete an ingredient from both the page and the database
 let removeIngredient = (id, row)=>{
-    axios.post("/ingredients/remove", {id: id})
+    for(let i = 0; i < merchant.inventory.length; i++){
+        if(merchant.inventory[i]._id === id){
+            merchant.inventory.splice(i, 1);
+            break;
+        }
+    }
+
+    axios.post("/merchant/update", merchant)
         .then((merchant)=>{
             for(let i = 0; i < items.length; i++){
                 if(id === items[i].id){