Fix #597: Ensure admin links in sidebar are displayed for users with relavant permissions, and only them
This commit is contained in:
parent
1aa3630b4d
commit
66c8e7a9e4
|
@ -0,0 +1 @@
|
||||||
|
Ensure admin links in sidebar are displayed for users with relavant permissions, and only them (#597)
|
|
@ -76,18 +76,16 @@
|
||||||
class="item" :to="{name: 'content.index'}"><i class="upload icon"></i><translate>Add content</translate></router-link>
|
class="item" :to="{name: 'content.index'}"><i class="upload icon"></i><translate>Add content</translate></router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" v-if="showAdmin">
|
<div class="item" v-if="$store.state.auth.availablePermissions['settings']">
|
||||||
<div class="header"><translate>Administration</translate></div>
|
<div class="header"><translate>Administration</translate></div>
|
||||||
<div class="menu">
|
<div class="menu">
|
||||||
<router-link
|
<router-link
|
||||||
class="item"
|
class="item"
|
||||||
v-if="$store.state.auth.availablePermissions['settings']"
|
|
||||||
:to="{path: '/manage/settings'}">
|
:to="{path: '/manage/settings'}">
|
||||||
<i class="settings icon"></i><translate>Settings</translate>
|
<i class="settings icon"></i><translate>Settings</translate>
|
||||||
</router-link>
|
</router-link>
|
||||||
<router-link
|
<router-link
|
||||||
class="item"
|
class="item"
|
||||||
v-if="$store.state.auth.availablePermissions['settings']"
|
|
||||||
:to="{name: 'manage.users.users.list'}">
|
:to="{name: 'manage.users.users.list'}">
|
||||||
<i class="users icon"></i><translate>Users</translate>
|
<i class="users icon"></i><translate>Users</translate>
|
||||||
</router-link>
|
</router-link>
|
||||||
|
@ -184,7 +182,6 @@ export default {
|
||||||
tracksChangeBuffer: null,
|
tracksChangeBuffer: null,
|
||||||
isCollapsed: true,
|
isCollapsed: true,
|
||||||
fetchInterval: null,
|
fetchInterval: null,
|
||||||
showAdmin: this.getShowAdmin()
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
|
@ -228,16 +225,6 @@ export default {
|
||||||
...mapActions({
|
...mapActions({
|
||||||
cleanTrack: 'queue/cleanTrack'
|
cleanTrack: 'queue/cleanTrack'
|
||||||
}),
|
}),
|
||||||
getShowAdmin () {
|
|
||||||
let adminPermissions = [
|
|
||||||
this.$store.state.auth.availablePermissions['federation'],
|
|
||||||
this.$store.state.auth.availablePermissions['library'],
|
|
||||||
this.$store.state.auth.availablePermissions['upload']
|
|
||||||
]
|
|
||||||
return adminPermissions.filter(e => {
|
|
||||||
return e
|
|
||||||
}).length > 0
|
|
||||||
},
|
|
||||||
reorder: function (event) {
|
reorder: function (event) {
|
||||||
this.$store.commit('queue/reorder', {
|
this.$store.commit('queue/reorder', {
|
||||||
tracks: this.tracksChangeBuffer, oldIndex: event.oldIndex, newIndex: event.newIndex})
|
tracks: this.tracksChangeBuffer, oldIndex: event.oldIndex, newIndex: event.newIndex})
|
||||||
|
@ -271,12 +258,6 @@ export default {
|
||||||
this.scrollToCurrent()
|
this.scrollToCurrent()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'$store.state.auth.availablePermissions': {
|
|
||||||
handler () {
|
|
||||||
this.showAdmin = this.getShowAdmin()
|
|
||||||
},
|
|
||||||
deep: true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -8,7 +8,12 @@ export default {
|
||||||
state: {
|
state: {
|
||||||
authenticated: false,
|
authenticated: false,
|
||||||
username: '',
|
username: '',
|
||||||
availablePermissions: {},
|
availablePermissions: {
|
||||||
|
federation: false,
|
||||||
|
settings: false,
|
||||||
|
library: false,
|
||||||
|
upload: false
|
||||||
|
},
|
||||||
profile: null,
|
profile: null,
|
||||||
token: '',
|
token: '',
|
||||||
tokenData: {}
|
tokenData: {}
|
||||||
|
@ -27,6 +32,7 @@ export default {
|
||||||
state.tokenData = {}
|
state.tokenData = {}
|
||||||
state.availablePermissions = {
|
state.availablePermissions = {
|
||||||
federation: false,
|
federation: false,
|
||||||
|
settings: false,
|
||||||
library: false,
|
library: false,
|
||||||
upload: false
|
upload: false
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue