Browse Source

Add delete button for the current merchant

Lee Morgan 5 years ago
parent
commit
4937ed7226

+ 7 - 6
controllers/merchantData.js

@@ -350,7 +350,11 @@ module.exports = {
     deleteMerchant: function(req, res){
         if(res.locals.owner.merchants.length === 1) throw "one";
         for(let i = 0; i < res.locals.owner.merchants.length; i++){
-            if(res.locals.owner.merchants[i]._id.toString() === res.locals.merchant._id.toString()){
+            console.log(res.locals.owner.merchants[i]._id);
+            console.log(res.locals.merchant._id);
+            console.log();
+            if(res.locals.owner.merchants[i].toString() === res.locals.merchant._id.toString()){
+                console.log("iffed");
                 res.locals.owner.merchants.splice(i, 1);
                 break;
             }
@@ -358,17 +362,14 @@ module.exports = {
 
         res.locals.merchant.removed = true;
 
-        let merchant = Merchant.findOne({_id: res.locals.owner.merchants[0]._id});
-
         Promise.all([
-            merchant,
+            Merchant.findOne({_id: res.locals.owner.merchants[0]._id}),
             res.locals.owner.save(),
             res.locals.merchant.save(),
-            res.locals.owner.populate("merchants", "name"),
+            res.locals.owner.populate("merchants", "name").execPopulate(),
             Transaction.find({merchant: res.locals.owner.merchants[0]._id})
         ])
             .then((response)=>{
-                console.log(res.locals.owner);
                 let responseOwner = {
                     _id: res.locals.owner._id,
                     email: res.locals.owner.email,

+ 2 - 0
views/dashboardPage/ejs/strands/account.ejs

@@ -30,6 +30,8 @@
                 <h2>SECURITY</h2>
             </div>
 
+            <button id="deleteMerchant" class="button">DELETE THIS MERCHANT</button>
+
             <button id="accountShowPassword" class="button">CHANGE PASSWORD</button>
 
             <div id="changePasswordBox"style="display:none;">

+ 2 - 2
views/dashboardPage/js/dashboard.js

@@ -189,7 +189,7 @@ controller = {
         }
     },
 
-    openModal: function(str, data){
+    openModal: function(str){
         let modal = document.getElementById("modal");
         modal.style.display = "flex";
         document.getElementById("modalClose").addEventListener("click", this.closeModal);
@@ -235,7 +235,7 @@ controller = {
                 let div = document.getElementById("modalConfirm");
                 div.style.display = "flex";
                 div.children[1].innerText = "Are you sure you want to delete this merchant?";
-                div.children[2].children[1].onclick = ()=>{account.deleteMerchant(data)};
+                div.children[2].children[1].onclick = ()=>{account.deleteMerchant()};
                 div.children[2].children[0].onclick = ()=>{controller.closeModal()};
                 break;
         }

+ 2 - 1
views/dashboardPage/js/strands/account.js

@@ -6,6 +6,7 @@ let account = {
         document.getElementById("accountEmail").value = merchant.email;
 
         document.getElementById("accountUpdate").onclick = ()=>{this.updateData()};
+        document.getElementById("deleteMerchant").onclick = ()=>{controller.openModal("confirmDeleteMerchant")};
 
         //Display alternate locations
         document.getElementById("settingsAddMerchant").onclick = ()=>{controller.openModal("newMerchant")};
@@ -148,7 +149,7 @@ let account = {
             });
     },
 
-    deleteMerchant: function(id){
+    deleteMerchant: function(){
         let loader = document.getElementById("loaderContainer");
         loader.style.display = "flex";