summaryrefslogtreecommitdiffstats
path: root/webapp/src/components/PermissionModule.vue
diff options
context:
space:
mode:
authorChristian Hofmaier2019-02-25 04:25:08 +0100
committerChristian Hofmaier2019-02-25 04:25:08 +0100
commit7b098c8b969a1d283a94391d9d8050ad0c5a4d13 (patch)
tree82d9f6edbc4503d3419a41626a986c4797478c8d /webapp/src/components/PermissionModule.vue
parent[webapp/datatable] improved slim mode (diff)
downloadbas-7b098c8b969a1d283a94391d9d8050ad0c5a4d13.tar.gz
bas-7b098c8b969a1d283a94391d9d8050ad0c5a4d13.tar.xz
bas-7b098c8b969a1d283a94391d9d8050ad0c5a4d13.zip
[permissionmanager] rework for blacklist system
- integrate PM into PM itself - wildcard function for hasPermission()
Diffstat (limited to 'webapp/src/components/PermissionModule.vue')
-rw-r--r--webapp/src/components/PermissionModule.vue56
1 files changed, 34 insertions, 22 deletions
diff --git a/webapp/src/components/PermissionModule.vue b/webapp/src/components/PermissionModule.vue
index 26d4792..b80dbaa 100644
--- a/webapp/src/components/PermissionModule.vue
+++ b/webapp/src/components/PermissionModule.vue
@@ -21,25 +21,28 @@
<v-container fill-height>
<v-layout>
<v-flex class="tabs-wrapper" xl10 offset-xl1 lg12>
- <v-card>
- <v-tabs :dark="tabsDark" :color="tabsColor" :slider-color="tabsSliderColor"
- centered
- v-model="tab"
- >
- <v-tab>{{ $t('roles') }}</v-tab>
- <v-tab>{{ $t('users') }}</v-tab>
- </v-tabs>
- </v-card>
- <v-tabs-items v-model="tab">
- <v-tab-item>
- <v-subheader>{{ $t('roles') }}</v-subheader>
- <permission-module-role-list/>
- </v-tab-item>
- <v-tab-item>
- <v-subheader>{{ $t('users') }}</v-subheader>
- <permission-module-user-list/>
- </v-tab-item>
- </v-tabs-items>
+ <v-card>
+ <v-tabs :dark="tabsDark" :color="tabsColor" :slider-color="tabsSliderColor"
+ centered
+ v-model="tab"
+ >
+ <v-tab>{{ $t('roles') }}</v-tab>
+ <v-tab>{{ $t('users') }}</v-tab>
+ </v-tabs>
+ </v-card>
+ <v-tabs-items v-model="tab" v-if="canView">
+ <v-tab-item>
+ <v-subheader>{{ $t('roles') }}</v-subheader>
+ <permission-module-role-list/>
+ </v-tab-item>
+ <v-tab-item>
+ <v-subheader>{{ $t('users') }}</v-subheader>
+ <permission-module-user-list/>
+ </v-tab-item>
+ </v-tabs-items>
+ <v-tabs-items v-model="tab" v-else>
+ <no-permission-error/>
+ </v-tabs-items>
</v-flex>
</v-layout>
@@ -82,6 +85,7 @@ import PermissionModuleRoleList from '@/components/PermissionModuleRoleList'
import PermissionModuleUserList from '@/components/PermissionModuleUserList'
import PermissionModuleGrantRevoke from '@/components/PermissionModuleGrantRevoke'
import PermissionModuleEdit from '@/components/PermissionModuleEdit'
+import NoPermissionError from '@/components/NoPermissionError'
import { mapState, mapGetters } from 'vuex'
export default {
@@ -90,12 +94,14 @@ export default {
PermissionModuleRoleList,
PermissionModuleUserList,
PermissionModuleGrantRevoke,
- PermissionModuleEdit
+ PermissionModuleEdit,
+ NoPermissionError
},
data () {
return {
- components: ['PermissionModuleRoleList', 'PermissionModuleUserList'],
- tab: 0
+ components: ['PermissionModuleRoleList', 'PermissionModuleUserList', 'NoPermissionError'],
+ tab: 0,
+ canView: false
}
},
computed: {
@@ -103,6 +109,12 @@ export default {
...mapState('permissions', ['selectedRoles', 'selectedUsers'])
},
methods: {
+ },
+ created () {
+ this.$http.get('/api/permissions/permissions.*').then(response => {
+ this.canView = response.data
+ })
+ this.$store.dispatch('permissions/loadData')
}
}
</script>