summaryrefslogtreecommitdiffstats
path: root/webapp
diff options
context:
space:
mode:
authorUdo Walter2020-05-30 23:31:13 +0200
committerUdo Walter2020-05-30 23:31:13 +0200
commite9ff07d6082745429c477a197c1ffe3f15433545 (patch)
treeee0c7fe5786ff7d1c8cfedd708afa49cbaccda31 /webapp
parent[permissionamanger] fix superadmin-permission getting recreated with every re... (diff)
downloadbas-e9ff07d6082745429c477a197c1ffe3f15433545.tar.gz
bas-e9ff07d6082745429c477a197c1ffe3f15433545.tar.xz
bas-e9ff07d6082745429c477a197c1ffe3f15433545.zip
[webapp] add no permission snackbar to 403 responses
Diffstat (limited to 'webapp')
-rw-r--r--webapp/src/components/GroupModuleClientList.vue10
-rw-r--r--webapp/src/config/i18n.js2
-rw-r--r--webapp/src/main.js3
3 files changed, 10 insertions, 5 deletions
diff --git a/webapp/src/components/GroupModuleClientList.vue b/webapp/src/components/GroupModuleClientList.vue
index 4871c7e..49c8e44 100644
--- a/webapp/src/components/GroupModuleClientList.vue
+++ b/webapp/src/components/GroupModuleClientList.vue
@@ -37,20 +37,20 @@
</data-table>
<v-divider></v-divider>
<div class="text-right">
- <v-btn text color="primary" @click="wake" :disabled="selected.length === 0">
+ <v-btn text color="primary" @click="wake" :disabled="selected.length === 0" class="ma-2">
<v-icon left>notifications_active</v-icon>{{ $tc('wakeClients', selected.length, [selected.length]) }}
</v-btn>
<template v-if="tabIndex === 0">
- <v-btn text color="error" @click="deleteSelected" :disabled="selected.length === 0">
+ <v-btn text color="error" @click="deleteSelected" :disabled="selected.length === 0" class="ma-2">
<v-icon left>delete</v-icon>{{ $tc('deleteClients', selected.length, [selected.length]) }}
</v-btn>
- <v-btn text color="success" @click="newClient"><v-icon left>create</v-icon>{{ $t('createClient') }}</v-btn>
+ <v-btn text color="success" @click="newClient" class="ma-2"><v-icon left>create</v-icon>{{ $t('createClient') }}</v-btn>
</template>
<template v-else>
- <v-btn text color="error" @click="removeSelected" :disabled="selected.length === 0">
+ <v-btn text color="error" @click="removeSelected" :disabled="selected.length === 0" class="ma-2">
<v-icon left>remove_circle_outline</v-icon>{{ $tc('removeClients', selected.length, [selected.length]) }}
</v-btn>
- <v-btn text color="success" @click="addExisting"><v-icon left>add_circle_outline</v-icon>{{ $t('addClients') }}</v-btn>
+ <v-btn text color="success" @click="addExisting" class="ma-2"><v-icon left>add_circle_outline</v-icon>{{ $t('addClients') }}</v-btn>
</template>
</div>
</div>
diff --git a/webapp/src/config/i18n.js b/webapp/src/config/i18n.js
index b127ca5..edab71c 100644
--- a/webapp/src/config/i18n.js
+++ b/webapp/src/config/i18n.js
@@ -8,6 +8,7 @@ export default {
'add': 'Add',
'save': 'Save',
'edit': 'Edit',
+ 'noPermission': 'No Permission',
'$vuetify': {
'dataIterator': {
'rowsPerPageText': 'Items per page:',
@@ -50,6 +51,7 @@ export default {
'add': 'Hinzufügen',
'save': 'Speichern',
'edit': 'Bearbeiten',
+ 'noPermission': 'Keine Berechtigung',
'$vuetify': {
'dataIterator': {
'rowsPerPageText': 'Einträge pro Seite:',
diff --git a/webapp/src/main.js b/webapp/src/main.js
index 93f1224..147905a 100644
--- a/webapp/src/main.js
+++ b/webapp/src/main.js
@@ -74,6 +74,9 @@ axios.interceptors.response.use(null, error => {
socket.close()
})
}
+ if (error && error.response.status === 403) {
+ store.commit('notifications/newSnackbar', { color: 'error', text: i18n.t('noPermission') })
+ }
return Promise.reject(error)
})