Explorar el Código

Updating subingredients from modal now fully working.

Lee Morgan hace 5 años
padre
commit
bf782bfd39
Se han modificado 2 ficheros con 12 adiciones y 10 borrados
  1. 5 3
      controllers/ingredientData.js
  2. 7 7
      views/dashboardPage/js/modal.js

+ 5 - 3
controllers/ingredientData.js

@@ -131,6 +131,7 @@ module.exports = {
         let popMerchant = res.locals.merchant.populate("inventory.ingredient").execPopulate();
 
         let stack = [];
+        let merchIngredient = {};
         Promise.all([Ingredient.findOne({_id: req.body.id}), popMerchant])
             .then((response)=>{
                 response[0].ingredients = req.body.ingredients;
@@ -158,6 +159,7 @@ module.exports = {
                 for(let i = 0; i < req.body.ingredients.length; i++){
                     for(let j = 0; j < res.locals.merchant.inventory.length; j++){
                         if(res.locals.merchant.inventory[j].ingredient._id.toString() === req.body.ingredients[i].ingredient){
+                            merchIngredient = res.locals.merchant.inventory[j];
                             let ingredient = res.locals.merchant.inventory[j].ingredient;
                             stack = [ingredient];
                             if(ingredient._id.toString() === req.body.id) throw "circular";
@@ -167,10 +169,10 @@ module.exports = {
                     }
                 }
 
-                return response[0].save();
+                return Promise.all([response[0].save(), res.locals.merchant.save()])
             })
-            .then((ingredient)=>{
-                return res.json(ingredient);
+            .then((response)=>{
+                return res.json(merchIngredient);
             })
             .catch((err)=>{
                 if(err === "circular"){

+ 7 - 7
views/dashboardPage/js/modal.js

@@ -236,7 +236,7 @@ let modal = {
                 });
             }
 
-            console.log(data);
+            // console.log(data);
 
             let loader = document.getElementById("loaderContainer");
             loader.style.display = "flex";
@@ -253,7 +253,12 @@ let modal = {
                     if(typeof(response) === "string"){
                         controller.createBanner(response, "error");
                     }else{
-                        console.log(response);
+                        merchant.removeIngredient(ingredient);
+                        merchant.addIngredients([response]);
+                        state.updateIngredients();
+
+                        controller.createBanner(`SUB-INGREDIENTS UPDATED FOR ${ingredient.name}`, "success");
+                        controller.closeModal();
                     }
                 })
                 .catch((err)=>{
@@ -263,11 +268,6 @@ let modal = {
                 .finally(()=>{
                     loader.style.display = "none";
                 });
-
-            // ingredient.replaceIngredients(subIngredients);
-
-            // controller.closeModal();
-            // controller.createBanner("YOUR SUB-INGREDIENTS WILL NOT BE SAVED UNTIL YOU SUBMIT CHANGES", "alert");
         }
     },