See #152: updated front-end to use new permissions
This commit is contained in:
parent
6fc4275b68
commit
4ce6715dc7
|
@ -15,7 +15,7 @@
|
||||||
</p>
|
</p>
|
||||||
<router-link
|
<router-link
|
||||||
class="ui button"
|
class="ui button"
|
||||||
v-if="$store.state.auth.availablePermissions['settings.change']"
|
v-if="$store.state.auth.availablePermissions['settings']"
|
||||||
:to="{path: '/manage/settings', hash: 'instance'}">
|
:to="{path: '/manage/settings', hash: 'instance'}">
|
||||||
<i class="pencil icon"></i>{{ $t('Edit instance info') }}
|
<i class="pencil icon"></i>{{ $t('Edit instance info') }}
|
||||||
</router-link>
|
</router-link>
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
<div class="menu">
|
<div class="menu">
|
||||||
<router-link
|
<router-link
|
||||||
class="item"
|
class="item"
|
||||||
v-if="$store.state.auth.availablePermissions['import.launch']"
|
v-if="$store.state.auth.availablePermissions['library']"
|
||||||
:to="{name: 'library.requests', query: {status: 'pending' }}">
|
:to="{name: 'library.requests', query: {status: 'pending' }}">
|
||||||
<i class="download icon"></i>{{ $t('Import requests') }}
|
<i class="download icon"></i>{{ $t('Import requests') }}
|
||||||
<div
|
<div
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
</router-link>
|
</router-link>
|
||||||
<router-link
|
<router-link
|
||||||
class="item"
|
class="item"
|
||||||
v-if="$store.state.auth.availablePermissions['federation.manage']"
|
v-if="$store.state.auth.availablePermissions['federation']"
|
||||||
:to="{path: '/manage/federation/libraries'}">
|
:to="{path: '/manage/federation/libraries'}">
|
||||||
<i class="sitemap icon"></i>{{ $t('Federation') }}
|
<i class="sitemap icon"></i>{{ $t('Federation') }}
|
||||||
<div
|
<div
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
</router-link>
|
</router-link>
|
||||||
<router-link
|
<router-link
|
||||||
class="item"
|
class="item"
|
||||||
v-if="$store.state.auth.availablePermissions['settings.change']"
|
v-if="$store.state.auth.availablePermissions['settings']"
|
||||||
:to="{path: '/manage/settings'}">
|
:to="{path: '/manage/settings'}">
|
||||||
<i class="settings icon"></i>{{ $t('Settings') }}
|
<i class="settings icon"></i>{{ $t('Settings') }}
|
||||||
</router-link>
|
</router-link>
|
||||||
|
@ -192,8 +192,8 @@ export default {
|
||||||
}),
|
}),
|
||||||
showAdmin () {
|
showAdmin () {
|
||||||
let adminPermissions = [
|
let adminPermissions = [
|
||||||
this.$store.state.auth.availablePermissions['federation.manage'],
|
this.$store.state.auth.availablePermissions['federation'],
|
||||||
this.$store.state.auth.availablePermissions['import.launch']
|
this.$store.state.auth.availablePermissions['library']
|
||||||
]
|
]
|
||||||
return adminPermissions.filter(e => {
|
return adminPermissions.filter(e => {
|
||||||
return e
|
return e
|
||||||
|
@ -209,7 +209,7 @@ export default {
|
||||||
this.fetchFederationImportRequestsCount()
|
this.fetchFederationImportRequestsCount()
|
||||||
},
|
},
|
||||||
fetchFederationNotificationsCount () {
|
fetchFederationNotificationsCount () {
|
||||||
if (!this.$store.state.auth.availablePermissions['federation.manage']) {
|
if (!this.$store.state.auth.availablePermissions['federation']) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let self = this
|
let self = this
|
||||||
|
@ -218,7 +218,7 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
fetchFederationImportRequestsCount () {
|
fetchFederationImportRequestsCount () {
|
||||||
if (!this.$store.state.auth.availablePermissions['import.launch']) {
|
if (!this.$store.state.auth.availablePermissions['library']) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let self = this
|
let self = this
|
||||||
|
|
|
@ -13,10 +13,10 @@
|
||||||
exact>
|
exact>
|
||||||
<i18next path="Requests"/>
|
<i18next path="Requests"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
<router-link v-if="$store.state.auth.availablePermissions['import.launch']" class="ui item" to="/library/import/launch" exact>
|
<router-link v-if="$store.state.auth.availablePermissions['library']" class="ui item" to="/library/import/launch" exact>
|
||||||
<i18next path="Import"/>
|
<i18next path="Import"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
<router-link v-if="$store.state.auth.availablePermissions['import.launch']" class="ui item" to="/library/import/batches">
|
<router-link v-if="$store.state.auth.availablePermissions['library']" class="ui item" to="/library/import/batches">
|
||||||
<i18next path="Import batches"/>
|
<i18next path="Import batches"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
</span>
|
</span>
|
||||||
<button
|
<button
|
||||||
@click="createImport"
|
@click="createImport"
|
||||||
v-if="request.status === 'pending' && importAction && $store.state.auth.availablePermissions['import.launch']"
|
v-if="request.status === 'pending' && importAction && $store.state.auth.availablePermissions['library']"
|
||||||
class="ui mini basic green right floated button">{{ $t('Create import') }}</button>
|
class="ui mini basic green right floated button">{{ $t('Create import') }}</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -112,7 +112,7 @@ export default {
|
||||||
dispatch('playlists/fetchOwn', null, {root: true})
|
dispatch('playlists/fetchOwn', null, {root: true})
|
||||||
Object.keys(data.permissions).forEach(function (key) {
|
Object.keys(data.permissions).forEach(function (key) {
|
||||||
// this makes it easier to check for permissions in templates
|
// this makes it easier to check for permissions in templates
|
||||||
commit('permission', {key, status: data.permissions[String(key)].status})
|
commit('permission', {key, status: data.permissions[String(key)]})
|
||||||
})
|
})
|
||||||
return response.data
|
return response.data
|
||||||
}, (response) => {
|
}, (response) => {
|
||||||
|
|
|
@ -164,9 +164,7 @@ describe('store/auth', () => {
|
||||||
const profile = {
|
const profile = {
|
||||||
username: 'bob',
|
username: 'bob',
|
||||||
permissions: {
|
permissions: {
|
||||||
admin: {
|
admin: true
|
||||||
status: true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
moxios.stubRequest('users/users/me/', {
|
moxios.stubRequest('users/users/me/', {
|
||||||
|
|
Loading…
Reference in New Issue