From aeab00b86d4b6a9fc19af42db8524ef12a7dd2c9 Mon Sep 17 00:00:00 2001
From: margaretmeehan <mkm248@cornell.edu>
Date: Mon, 4 Nov 2019 16:05:21 -0800
Subject: [PATCH 1/7] Confirm Label Delete Modal

---
 app/server/static/components/label.vue | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/app/server/static/components/label.vue b/app/server/static/components/label.vue
index 0768da8662..49556c6abb 100644
--- a/app/server/static/components/label.vue
+++ b/app/server/static/components/label.vue
@@ -111,11 +111,27 @@
                       span Edit
 
                   p.control
-                    a.button.is-text(v-on:click="removeLabel(label)")
+                    a.button.is-text(v-on:click="confirmDeleteModal(label)")
                       span.icon.is-small
                         i.fas.fa-trash
                       span Delete
 
+          div.modal(v-if="isDeleteModalOpen" v-bind:class="{ 'is-active': isDeleteModalOpen }" :data="deleteModalData")
+            div.modal-background
+            div.modal-card
+              header.modal-card-head
+                p.modal-card-title Delete Label 
+                button.delete(
+                  v-on:click="isDeleteModalOpen = !isDeleteModalOpen"
+                  aria-label="close"
+                )
+              section.modal-card-body.modal-card-body-footer
+                p Are you sure you want to delete the label <b>{{ deleteModalData.text }}</b>?
+                a.button.is-primary(v-on:click="removeLabel(deleteModalData)")
+                    span Yes, delete!
+                    span.icon.is-small
+                      i.fas.fa-trash
+
           div.columns(v-show="label === editedLabel")
             div.column
               div.field
@@ -205,6 +221,8 @@ export default {
     editedLabel: null,
     messages: [],
     shortKeys: 'abcdefghijklmnopqrstuvwxyz',
+    isDeleteModalOpen: false,
+    deleteModalData: null,
   }),
 
   created() {
@@ -268,8 +286,14 @@ export default {
         });
     },
 
+    confirmDeleteModal(label) {
+      this.deleteModalData = label;
+      this.isDeleteModalOpen = !this.isDeleteModalOpen;
+    },
+
     removeLabel(label) {
       const labelId = label.id;
+      this.isDeleteModalOpen = !this.isDeleteModalOpen;
       HTTP.delete(`labels/${labelId}`).then(() => {
         const index = this.labels.indexOf(label);
         this.labels.splice(index, 1);

From 74e1cf32abc1b825e299a1fd8a202f522081dc29 Mon Sep 17 00:00:00 2001
From: margaretmeehan <mkm248@cornell.edu>
Date: Mon, 4 Nov 2019 16:13:59 -0800
Subject: [PATCH 2/7] Copy styling from delete project modal

---
 app/server/static/components/label.vue | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/app/server/static/components/label.vue b/app/server/static/components/label.vue
index 49556c6abb..ab8c03f983 100644
--- a/app/server/static/components/label.vue
+++ b/app/server/static/components/label.vue
@@ -125,12 +125,12 @@
                   v-on:click="isDeleteModalOpen = !isDeleteModalOpen"
                   aria-label="close"
                 )
-              section.modal-card-body.modal-card-body-footer
+              section.modal-card-body
                 p Are you sure you want to delete the label <b>{{ deleteModalData.text }}</b>?
+              footer.modal-card-foot.pt20.pb20.pr20.pl20.has-background-white-ter
                 a.button.is-primary(v-on:click="removeLabel(deleteModalData)")
-                    span Yes, delete!
-                    span.icon.is-small
-                      i.fas.fa-trash
+                    span Delete
+                button.button(v-on:click="isDeleteModalOpen = !isDeleteModalOpen") Cancel
 
           div.columns(v-show="label === editedLabel")
             div.column

From a37b9e056cada78eecadad88665551f3a85fffa5 Mon Sep 17 00:00:00 2001
From: margaretmeehan <mkm248@cornell.edu>
Date: Mon, 4 Nov 2019 16:24:21 -0800
Subject: [PATCH 3/7] fix eslint

---
 app/server/static/components/label.vue | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/app/server/static/components/label.vue b/app/server/static/components/label.vue
index ab8c03f983..d27326d8c6 100644
--- a/app/server/static/components/label.vue
+++ b/app/server/static/components/label.vue
@@ -116,11 +116,13 @@
                         i.fas.fa-trash
                       span Delete
 
-          div.modal(v-if="isDeleteModalOpen" v-bind:class="{ 'is-active': isDeleteModalOpen }" :data="deleteModalData")
+          div.modal(v-if="isDeleteModalOpen",
+                    v-bind:class="{ 'is-active': isDeleteModalOpen }"
+                    :data="deleteModalData")
             div.modal-background
             div.modal-card
               header.modal-card-head
-                p.modal-card-title Delete Label 
+                p.modal-card-title Delete Label
                 button.delete(
                   v-on:click="isDeleteModalOpen = !isDeleteModalOpen"
                   aria-label="close"

From 8d1c9fe4c36d066242d39b67fbc2d2ca55c61d6c Mon Sep 17 00:00:00 2001
From: margaretmeehan <mkm248@cornell.edu>
Date: Mon, 4 Nov 2019 16:36:39 -0800
Subject: [PATCH 4/7] Add Confirm Delete for Users

---
 app/server/static/components/users.vue | 28 +++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/app/server/static/components/users.vue b/app/server/static/components/users.vue
index ff3ced47a2..cb621b6470 100644
--- a/app/server/static/components/users.vue
+++ b/app/server/static/components/users.vue
@@ -61,10 +61,28 @@
               )
                 | {{ otherRole.name }}
           b-table-column(label="Action")
-            a.button.is-text(v-on:click="removeRoleMapping(props.row.id)")
+            a.button.is-text(v-on:click="confirmDeleteModal(props.row)")
               span.icon.is-small
                 i.fas.fa-trash
               span Delete
+
+    div.modal(v-if="isDeleteModalOpen",
+              v-bind:class="{ 'is-active': isDeleteModalOpen }"
+              :data="deleteModalData")
+      div.modal-background
+      div.modal-card
+        header.modal-card-head
+          p.modal-card-title Delete User
+          button.delete(
+            v-on:click="isDeleteModalOpen = !isDeleteModalOpen"
+            aria-label="close"
+          )
+        section.modal-card-body
+          p Are you sure you want to delete the user <b>{{ deleteModalData.username }}</b>?
+        footer.modal-card-foot.pt20.pb20.pr20.pl20.has-background-white-ter
+          a.button.is-primary(v-on:click="removeRoleMapping(deleteModalData.id)")
+              span Delete
+          button.button(v-on:click="isDeleteModalOpen = !isDeleteModalOpen") Cancel
 </template>
 
 <style>
@@ -99,6 +117,8 @@ export default {
     allUsers: [],
     otherUsers: [],
     roles: [],
+    isDeleteModalOpen: false,
+    deleteModalData: null,
   }),
 
   computed: {
@@ -158,7 +178,13 @@ export default {
       this.newRoleMapping = null;
     },
 
+    confirmDeleteModal(userData) {
+      this.deleteModalData = userData;
+      this.isDeleteModalOpen = !this.isDeleteModalOpen;
+    },
+
     removeRoleMapping(roleMappingId) {
+      this.isDeleteModalOpen = !this.isDeleteModalOpen;
       HTTP.delete(`roles/${roleMappingId}`).then(() => {
         this.roleMappings = this.roleMappings.filter(
           roleMapping => roleMapping.id !== roleMappingId,

From 93ba3b9d78e3a817d52358e07caba3d3c1d043b6 Mon Sep 17 00:00:00 2001
From: margaretmeehan <mkm248@cornell.edu>
Date: Mon, 4 Nov 2019 16:39:00 -0800
Subject: [PATCH 5/7] update terms used

---
 app/server/static/components/users.vue | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/server/static/components/users.vue b/app/server/static/components/users.vue
index cb621b6470..a761929cf0 100644
--- a/app/server/static/components/users.vue
+++ b/app/server/static/components/users.vue
@@ -72,13 +72,13 @@
       div.modal-background
       div.modal-card
         header.modal-card-head
-          p.modal-card-title Delete User
+          p.modal-card-title Delete User Role
           button.delete(
             v-on:click="isDeleteModalOpen = !isDeleteModalOpen"
             aria-label="close"
           )
         section.modal-card-body
-          p Are you sure you want to delete the user <b>{{ deleteModalData.username }}</b>?
+          p Are you sure you want to delete the role for user <b>{{ deleteModalData.username }}</b>?
         footer.modal-card-foot.pt20.pb20.pr20.pl20.has-background-white-ter
           a.button.is-primary(v-on:click="removeRoleMapping(deleteModalData.id)")
               span Delete

From b78bf03414210b93782995c9e4d1b1e943fac74f Mon Sep 17 00:00:00 2001
From: margaretmeehan <mkm248@cornell.edu>
Date: Mon, 4 Nov 2019 16:51:25 -0800
Subject: [PATCH 6/7] fix pug lint errors

---
 app/server/static/components/label.vue | 2 +-
 app/server/static/components/users.vue | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/server/static/components/label.vue b/app/server/static/components/label.vue
index d27326d8c6..7d38f68ab2 100644
--- a/app/server/static/components/label.vue
+++ b/app/server/static/components/label.vue
@@ -118,7 +118,7 @@
 
           div.modal(v-if="isDeleteModalOpen",
                     v-bind:class="{ 'is-active': isDeleteModalOpen }"
-                    :data="deleteModalData")
+                    v-bind:data="deleteModalData")
             div.modal-background
             div.modal-card
               header.modal-card-head
diff --git a/app/server/static/components/users.vue b/app/server/static/components/users.vue
index a761929cf0..de21c9066a 100644
--- a/app/server/static/components/users.vue
+++ b/app/server/static/components/users.vue
@@ -68,7 +68,7 @@
 
     div.modal(v-if="isDeleteModalOpen",
               v-bind:class="{ 'is-active': isDeleteModalOpen }"
-              :data="deleteModalData")
+              v-bind:data="deleteModalData")
       div.modal-background
       div.modal-card
         header.modal-card-head

From 11679828e408621daa672c050e686efc62447dd3 Mon Sep 17 00:00:00 2001
From: margaretmeehan <mkm248@cornell.edu>
Date: Mon, 4 Nov 2019 17:03:03 -0800
Subject: [PATCH 7/7] pug lint vue linter fixes

---
 app/server/static/components/label.vue | 10 ++++++----
 app/server/static/components/users.vue | 10 ++++++----
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/app/server/static/components/label.vue b/app/server/static/components/label.vue
index 7d38f68ab2..8a5037bc8d 100644
--- a/app/server/static/components/label.vue
+++ b/app/server/static/components/label.vue
@@ -116,9 +116,11 @@
                         i.fas.fa-trash
                       span Delete
 
-          div.modal(v-if="isDeleteModalOpen",
-                    v-bind:class="{ 'is-active': isDeleteModalOpen }"
-                    v-bind:data="deleteModalData")
+          div.modal(
+            v-if="isDeleteModalOpen"
+            v-bind:class="{ 'is-active': isDeleteModalOpen }"
+            v-bind:data="deleteModalData"
+          )
             div.modal-background
             div.modal-card
               header.modal-card-head
@@ -131,7 +133,7 @@
                 p Are you sure you want to delete the label <b>{{ deleteModalData.text }}</b>?
               footer.modal-card-foot.pt20.pb20.pr20.pl20.has-background-white-ter
                 a.button.is-primary(v-on:click="removeLabel(deleteModalData)")
-                    span Delete
+                  span Delete
                 button.button(v-on:click="isDeleteModalOpen = !isDeleteModalOpen") Cancel
 
           div.columns(v-show="label === editedLabel")
diff --git a/app/server/static/components/users.vue b/app/server/static/components/users.vue
index de21c9066a..cb720eb601 100644
--- a/app/server/static/components/users.vue
+++ b/app/server/static/components/users.vue
@@ -66,9 +66,11 @@
                 i.fas.fa-trash
               span Delete
 
-    div.modal(v-if="isDeleteModalOpen",
-              v-bind:class="{ 'is-active': isDeleteModalOpen }"
-              v-bind:data="deleteModalData")
+    div.modal(
+      v-if="isDeleteModalOpen"
+      v-bind:class="{ 'is-active': isDeleteModalOpen }"
+      v-bind:data="deleteModalData"
+    )
       div.modal-background
       div.modal-card
         header.modal-card-head
@@ -81,7 +83,7 @@
           p Are you sure you want to delete the role for user <b>{{ deleteModalData.username }}</b>?
         footer.modal-card-foot.pt20.pb20.pr20.pl20.has-background-white-ter
           a.button.is-primary(v-on:click="removeRoleMapping(deleteModalData.id)")
-              span Delete
+            span Delete
           button.button(v-on:click="isDeleteModalOpen = !isDeleteModalOpen") Cancel
 </template>