فهرست منبع

Add full ability to remove ingredients

Lee Morgan 6 سال پیش
والد
کامیت
63f8dec02f
3فایلهای تغییر یافته به همراه53 افزوده شده و 4 حذف شده
  1. 26 2
      controllers/home.js
  2. 1 0
      routes.js
  3. 26 2
      views/inventory/inventory.js

+ 26 - 2
controllers/home.js

@@ -145,11 +145,9 @@ module.exports = {
     },
 
     updateIngredient: (req, res)=>{
-        console.log(req.body);
         Merchant.findOne({cloverId: merchantId})
             .then((merchant)=>{
                 for(let item of merchant.inventory){
-                    
                     if(req.body.id === item.ingredient.toString()){
                         item.quantity = req.body.quantity;
                         break;
@@ -168,5 +166,31 @@ module.exports = {
                 console.log(err);
                 return res.render("error");
             });
+    },
+
+    removeIngredient: (req, res)=>{
+        console.log(req.body);
+        Merchant.findOne({cloverId: merchantId})
+            .then((merchant)=>{
+                for(let i = 0; i < merchant.inventory.length; i++){
+                    console.log(`${req.body.id} ${merchant.inventory[i].ingredient.toString()}`);
+                    if(req.body.id === merchant.inventory[i].ingredient.toString()){
+                        merchant.inventory.splice(i, 1);
+                    }
+                }
+
+                merchant.save()
+                    .then((merchant)=>{
+                        return res.json(merchant);
+                    })
+                    .catch((err)=>{
+                        console.log(err);
+                        return res.json(err);
+                    });
+            })
+            .catch((err)=>{
+                console.log(err);
+                return res.json(err);
+            });
     }
 }

+ 1 - 0
routes.js

@@ -7,4 +7,5 @@ module.exports = function(app){
     app.post("/merchant/create", home.createMerchant);
     app.post("/ingredients/create", home.createNewIngredients);
     app.post("/ingredients/update", home.updateIngredient);
+    app.post("/ingredients/remove", home.removeIngredient);
 }

+ 26 - 2
views/inventory/inventory.js

@@ -28,11 +28,18 @@ let renderIngredients = ()=>{
 
         let action = document.createElement("td");
         row.appendChild(action);
+
         let editBtn = document.createElement("button");
-        editBtn.onclick = ()=>{editThis(item.id, row)};
+        editBtn.onclick = ()=>{editIngredient(item.id, row)};
         editBtn.innerText = "Edit";
         editBtn.className = "edit-button"
         action.appendChild(editBtn);
+
+        let removeBtn = document.createElement("button");
+        removeBtn.onclick = ()=>{removeIngredient(item.id, row)};
+        removeBtn.innerText = "Remove";
+        removeBtn.className = "edit-button";
+        action.appendChild(removeBtn);
     }
 }
 
@@ -60,7 +67,7 @@ let filter = ()=>{
     renderIngredients(items);
 }
 
-let editThis = (id, row)=>{
+let editIngredient = (id, row)=>{
     let quantity = row.childNodes[2];
     let button = row.childNodes[4].childNodes[0];
 
@@ -99,4 +106,21 @@ let updateOne = (id, row)=>{
         });
 }
 
+let removeIngredient = (id, row)=>{
+    axios.post("/ingredients/remove", {id: id})
+        .then((result)=>{
+            console.log(result);
+            for(let i = 0; i < items.length; i++){
+                if(id === items[i].id){
+                    items.splice(i, 1);
+                }
+            }
+        
+            renderIngredients();
+        })
+        .catch((err)=>{
+            console.log(err);
+        });
+}
+
 filter();