diff --git a/client/components/app/Appbar.vue b/client/components/app/Appbar.vue index c4625253..4bb130ee 100644 --- a/client/components/app/Appbar.vue +++ b/client/components/app/Appbar.vue @@ -30,8 +30,10 @@ {{ isAllSelected ? 'Select None' : 'Select All' }}
- edit - delete + + delete close
@@ -69,6 +71,12 @@ export default { }, audiobooksShowing() { return this.$store.getters['audiobooks/getFiltered']() + }, + userCanUpdate() { + return this.$store.getters['user/getUserCanUpdate'] + }, + userCanDelete() { + return this.$store.getters['user/getUserCanDelete'] } }, methods: { diff --git a/client/components/cards/BookCard.vue b/client/components/cards/BookCard.vue index 5446c9d8..cec42de6 100644 --- a/client/components/cards/BookCard.vue +++ b/client/components/cards/BookCard.vue @@ -19,13 +19,16 @@ play_circle_filled -
+ +
edit
-
+ +
{{ selected ? 'radio_button_checked' : 'radio_button_unchecked' }}
+
@@ -156,6 +159,12 @@ export default { classes.push('border-2 border-yellow-400') } return classes + }, + userCanUpdate() { + return this.$store.getters['user/getUserCanUpdate'] + }, + userCanDelete() { + return this.$store.getters['user/getUserCanDelete'] } }, methods: { diff --git a/client/components/controls/OrderSelect.vue b/client/components/controls/OrderSelect.vue index 43d8af27..9620b476 100644 --- a/client/components/controls/OrderSelect.vue +++ b/client/components/controls/OrderSelect.vue @@ -48,6 +48,10 @@ export default { text: 'Added At', value: 'addedAt' }, + { + text: 'Volume #', + value: 'book.volumeNumber' + }, { text: 'Duration', value: 'duration' diff --git a/client/components/modals/AccountModal.vue b/client/components/modals/AccountModal.vue index ab27e99d..fa12610a 100644 --- a/client/components/modals/AccountModal.vue +++ b/client/components/modals/AccountModal.vue @@ -18,7 +18,7 @@
- +
@@ -26,6 +26,37 @@
+ +
+

Permissions

+
+
+

Can Download

+
+
+ +
+
+ +
+
+

Can Update

+
+
+ +
+
+ +
+
+

Can Delete

+
+
+ +
+
+
+
Submit @@ -144,6 +175,13 @@ export default { toggleActive() { this.newUser.isActive = !this.newUser.isActive }, + userTypeUpdated(type) { + this.newUser.permissions = { + download: type !== 'guest', + update: type === 'admin', + delete: type === 'admin' + } + }, init() { this.isNew = !this.account if (this.account) { @@ -151,14 +189,20 @@ export default { username: this.account.username, password: this.account.password, type: this.account.type, - isActive: this.account.isActive + isActive: this.account.isActive, + permissions: { ...this.account.permissions } } } else { this.newUser = { username: null, password: null, type: 'user', - isActive: true + isActive: true, + permissions: { + download: true, + update: false, + delete: false + } } } } diff --git a/client/components/modals/EditModal.vue b/client/components/modals/EditModal.vue index 469dd41b..163d03ac 100644 --- a/client/components/modals/EditModal.vue +++ b/client/components/modals/EditModal.vue @@ -6,7 +6,7 @@
-