Просмотр исходного кода

Add ability to update bottle size

Lee Morgan 5 лет назад
Родитель
Сommit
070c506cd8

+ 3 - 0
controllers/ingredientData.js

@@ -94,6 +94,9 @@ module.exports = {
             .then((ingredient)=>{
                 ingredient.name = req.body.name,
                 ingredient.category = req.body.category
+                if(ingredient.specialUnit = "bottle"){
+                    ingredient.unitSize = req.body.unitSize;
+                }
 
                 return ingredient.save();
             })

+ 25 - 4
views/dashboardPage/bundle.js

@@ -1472,6 +1472,17 @@ let ingredientDetails = {
     display: function(ingredient){
         this.ingredient = ingredient;
 
+        if(this.ingredient.ingredient.specialUnit === "bottle"){
+            try{
+                let label = document.getElementById("ingredientUnitSizeLabel");
+                label.parentElement.removeChild(label);
+
+                let border = document.getElementById("bottleBorder");
+                border.parentElement.removeChild(border);
+            }catch(err){}
+        }
+        console.log("something");
+
         document.getElementById("ingredientDetailsCategory").innerText = ingredient.ingredient.category;
 
         let categoryInput = document.getElementById("detailsCategoryInput");
@@ -1488,7 +1499,9 @@ let ingredientDetails = {
         let stockInput = document.getElementById("ingredientInput");
         let stockDisplay = document.getElementById("ingredientStock");
         stockInput.value = "";
-        if(ingredient.ingredient.specialUnit = "bottle"){
+        console.log(ingredient);
+        if(ingredient.ingredient.specialUnit === "bottle"){
+            console.log("bottle");
             let quantity = ingredient.ingredient.convert(ingredient.quantity);
 
             stockDisplay.innerText = `${quantity.toFixed(2)} ${ingredient.ingredient.unit.toUpperCase()}`;
@@ -1622,10 +1635,11 @@ let ingredientDetails = {
             const displayUnits = document.getElementById("displayUnitLabel");
 
             let label = document.createElement("label");
-            label.innerText = `BOTTLE SIZE (${this.ingredient.ingredient.unit})`;
+            label.innerText = `BOTTLE SIZE (${this.ingredient.ingredient.unit.toUpperCase()})`;
+            label.id = "ingredientUnitSizeLabel";
             mainDiv.insertBefore(label, displayUnits);
 
-            const convQuant = this.ingredient.ingredient.convert(this.ingredient.ingredient.unitSize.toUpperCase());
+            const convQuant = this.ingredient.ingredient.convert(this.ingredient.ingredient.unitSize);
 
             let input = document.createElement("input");
             input.type = "number";
@@ -1637,6 +1651,7 @@ let ingredientDetails = {
 
             let border = document.createElement("div");
             border.classList.add("lineBorder");
+            border.id="bottleBorder";
             mainDiv.insertBefore(border, displayUnits);
         }
     },
@@ -1676,7 +1691,7 @@ let ingredientDetails = {
 
         const name = document.getElementById("ingredientDetailsNameIn");
         this.ingredient.ingredient.name = (name.value === "") ? this.ingredient.ingredient.name : name.value;
-        
+
         let data = {
             id: this.ingredient.ingredient.id,
             name: this.ingredient.ingredient.name,
@@ -1685,6 +1700,12 @@ let ingredientDetails = {
             defaultUnit: this.ingredient.ingredient.unit
         };
 
+        if(this.ingredient.ingredient.specialUnit === "bottle"){
+            const unitSize = document.getElementById("ingredientUnitSizeIn").value;
+            this.ingredient.ingredient.unitSize = controller.convertToMain(this.ingredient.ingredient.unit, unitSize);
+            data.unitSize = this.ingredient.ingredient.unitSize;
+        }
+
         let loader = document.getElementById("loaderContainer");
         loader.style.display = "flex";
 

+ 25 - 4
views/dashboardPage/js/ingredientDetails.js

@@ -5,6 +5,17 @@ let ingredientDetails = {
     display: function(ingredient){
         this.ingredient = ingredient;
 
+        if(this.ingredient.ingredient.specialUnit === "bottle"){
+            try{
+                let label = document.getElementById("ingredientUnitSizeLabel");
+                label.parentElement.removeChild(label);
+
+                let border = document.getElementById("bottleBorder");
+                border.parentElement.removeChild(border);
+            }catch(err){}
+        }
+        console.log("something");
+
         document.getElementById("ingredientDetailsCategory").innerText = ingredient.ingredient.category;
 
         let categoryInput = document.getElementById("detailsCategoryInput");
@@ -21,7 +32,9 @@ let ingredientDetails = {
         let stockInput = document.getElementById("ingredientInput");
         let stockDisplay = document.getElementById("ingredientStock");
         stockInput.value = "";
-        if(ingredient.ingredient.specialUnit = "bottle"){
+        console.log(ingredient);
+        if(ingredient.ingredient.specialUnit === "bottle"){
+            console.log("bottle");
             let quantity = ingredient.ingredient.convert(ingredient.quantity);
 
             stockDisplay.innerText = `${quantity.toFixed(2)} ${ingredient.ingredient.unit.toUpperCase()}`;
@@ -155,10 +168,11 @@ let ingredientDetails = {
             const displayUnits = document.getElementById("displayUnitLabel");
 
             let label = document.createElement("label");
-            label.innerText = `BOTTLE SIZE (${this.ingredient.ingredient.unit})`;
+            label.innerText = `BOTTLE SIZE (${this.ingredient.ingredient.unit.toUpperCase()})`;
+            label.id = "ingredientUnitSizeLabel";
             mainDiv.insertBefore(label, displayUnits);
 
-            const convQuant = this.ingredient.ingredient.convert(this.ingredient.ingredient.unitSize.toUpperCase());
+            const convQuant = this.ingredient.ingredient.convert(this.ingredient.ingredient.unitSize);
 
             let input = document.createElement("input");
             input.type = "number";
@@ -170,6 +184,7 @@ let ingredientDetails = {
 
             let border = document.createElement("div");
             border.classList.add("lineBorder");
+            border.id="bottleBorder";
             mainDiv.insertBefore(border, displayUnits);
         }
     },
@@ -209,7 +224,7 @@ let ingredientDetails = {
 
         const name = document.getElementById("ingredientDetailsNameIn");
         this.ingredient.ingredient.name = (name.value === "") ? this.ingredient.ingredient.name : name.value;
-        
+
         let data = {
             id: this.ingredient.ingredient.id,
             name: this.ingredient.ingredient.name,
@@ -218,6 +233,12 @@ let ingredientDetails = {
             defaultUnit: this.ingredient.ingredient.unit
         };
 
+        if(this.ingredient.ingredient.specialUnit === "bottle"){
+            const unitSize = document.getElementById("ingredientUnitSizeIn").value;
+            this.ingredient.ingredient.unitSize = controller.convertToMain(this.ingredient.ingredient.unit, unitSize);
+            data.unitSize = this.ingredient.ingredient.unitSize;
+        }
+
         let loader = document.getElementById("loaderContainer");
         loader.style.display = "flex";