diff --git a/front/src/components/About.vue b/front/src/components/About.vue index b0ae67ef7ae554aa70a2ed6cc595b45fea81b32d..59c8411ac131fe65ec72fa6ed1e4769eed5b361a 100644 --- a/front/src/components/About.vue +++ b/front/src/components/About.vue @@ -15,7 +15,7 @@ </p> <router-link class="ui button" - v-if="$store.state.auth.availablePermissions['settings.change']" + v-if="$store.state.auth.availablePermissions['settings']" :to="{path: '/manage/settings', hash: 'instance'}"> <i class="pencil icon"></i>{{ $t('Edit instance info') }} </router-link> diff --git a/front/src/components/Sidebar.vue b/front/src/components/Sidebar.vue index 9fbc5605c8e13923379e879b4b1a6b3322d14333..9f3134c2a1cd38a64a1761c505eac57fa6970666 100644 --- a/front/src/components/Sidebar.vue +++ b/front/src/components/Sidebar.vue @@ -60,7 +60,7 @@ <div class="menu"> <router-link class="item" - v-if="$store.state.auth.availablePermissions['import.launch']" + v-if="$store.state.auth.availablePermissions['library']" :to="{name: 'library.requests', query: {status: 'pending' }}"> <i class="download icon"></i>{{ $t('Import requests') }} <div @@ -70,7 +70,7 @@ </router-link> <router-link class="item" - v-if="$store.state.auth.availablePermissions['federation.manage']" + v-if="$store.state.auth.availablePermissions['federation']" :to="{path: '/manage/federation/libraries'}"> <i class="sitemap icon"></i>{{ $t('Federation') }} <div @@ -80,7 +80,7 @@ </router-link> <router-link class="item" - v-if="$store.state.auth.availablePermissions['settings.change']" + v-if="$store.state.auth.availablePermissions['settings']" :to="{path: '/manage/settings'}"> <i class="settings icon"></i>{{ $t('Settings') }} </router-link> @@ -192,8 +192,8 @@ export default { }), showAdmin () { let adminPermissions = [ - this.$store.state.auth.availablePermissions['federation.manage'], - this.$store.state.auth.availablePermissions['import.launch'] + this.$store.state.auth.availablePermissions['federation'], + this.$store.state.auth.availablePermissions['library'] ] return adminPermissions.filter(e => { return e @@ -209,7 +209,7 @@ export default { this.fetchFederationImportRequestsCount() }, fetchFederationNotificationsCount () { - if (!this.$store.state.auth.availablePermissions['federation.manage']) { + if (!this.$store.state.auth.availablePermissions['federation']) { return } let self = this @@ -218,7 +218,7 @@ export default { }) }, fetchFederationImportRequestsCount () { - if (!this.$store.state.auth.availablePermissions['import.launch']) { + if (!this.$store.state.auth.availablePermissions['library']) { return } let self = this diff --git a/front/src/components/library/Library.vue b/front/src/components/library/Library.vue index 820d60a5438545f1af49bd9bcf597b8c227534b9..e360ccb1c5c80985e5adc33f203ff316c610f504 100644 --- a/front/src/components/library/Library.vue +++ b/front/src/components/library/Library.vue @@ -13,10 +13,10 @@ exact> <i18next path="Requests"/> </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"/> </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"/> </router-link> </div> diff --git a/front/src/components/requests/Card.vue b/front/src/components/requests/Card.vue index 9d0bf0b771bdaa398c882e84be4f07afb642c6ce..7743bb6d4403653fedbc355983ec0bb4e7adecf1 100644 --- a/front/src/components/requests/Card.vue +++ b/front/src/components/requests/Card.vue @@ -22,7 +22,7 @@ </span> <button @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> </div> diff --git a/front/src/store/auth.js b/front/src/store/auth.js index 68a15090b5c289d2825563743f4cad7f2d3cdbf0..87af081d26fdfd09d2d02b16db6196f91d6cee95 100644 --- a/front/src/store/auth.js +++ b/front/src/store/auth.js @@ -112,7 +112,7 @@ export default { dispatch('playlists/fetchOwn', null, {root: true}) Object.keys(data.permissions).forEach(function (key) { // 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 }, (response) => { diff --git a/front/test/unit/specs/store/auth.spec.js b/front/test/unit/specs/store/auth.spec.js index 3d175e9f9fa0e31b3b51b79314fe182e0516549c..46901cd16edd25ee9be4f7137a8835f1336174fb 100644 --- a/front/test/unit/specs/store/auth.spec.js +++ b/front/test/unit/specs/store/auth.spec.js @@ -164,9 +164,7 @@ describe('store/auth', () => { const profile = { username: 'bob', permissions: { - admin: { - status: true - } + admin: true } } moxios.stubRequest('users/users/me/', {