2020-11-06 00:17:04 +00:00
|
|
|
<template>
|
|
|
|
<div>
|
|
|
|
<q-page
|
|
|
|
padding
|
|
|
|
class="fit row justify-center content-center items-center q-gutter-sm"
|
|
|
|
>
|
|
|
|
<q-card class="col-12">
|
|
|
|
<q-card-section
|
|
|
|
class="fit row justify-start content-center items-center"
|
|
|
|
>
|
|
|
|
<div class="col-xs-12 col-sm-6 text-center text-h6">
|
|
|
|
Benutzereinstellungen
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-12 col-sm-6 q-pa-sm">
|
|
|
|
<UserSelector :user="user" @update:user="userUpdated" />
|
|
|
|
</div>
|
|
|
|
</q-card-section>
|
|
|
|
<MainUserSettings :user="user" />
|
|
|
|
</q-card>
|
2020-11-09 02:39:31 +00:00
|
|
|
<RoleSettings v-if="canEditRoles" />
|
2020-11-06 00:17:04 +00:00
|
|
|
</q-page>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
2020-11-09 02:39:31 +00:00
|
|
|
import {
|
|
|
|
computed,
|
|
|
|
defineComponent,
|
|
|
|
onBeforeMount,
|
|
|
|
ref
|
|
|
|
} from '@vue/composition-api';
|
2020-11-06 00:17:04 +00:00
|
|
|
import UserSelector from '../components/UserSelector.vue';
|
|
|
|
import MainUserSettings from '../components/settings/MainUserSettings.vue';
|
2020-11-09 02:39:31 +00:00
|
|
|
import RoleSettings from '../components/settings/RoleSettings.vue';
|
2020-11-06 00:17:04 +00:00
|
|
|
import { Store } from 'vuex';
|
|
|
|
import { StateInterface } from 'src/store';
|
2020-11-09 02:39:31 +00:00
|
|
|
import { hasPermission } from 'src/components/permission';
|
|
|
|
import { PERMISSIONS } from '../permissions';
|
2020-11-06 00:17:04 +00:00
|
|
|
|
|
|
|
export default defineComponent({
|
|
|
|
name: 'AdminSettings',
|
2020-11-09 02:39:31 +00:00
|
|
|
components: { UserSelector, MainUserSettings, RoleSettings },
|
2020-11-06 00:17:04 +00:00
|
|
|
setup(_, { root }) {
|
|
|
|
const store = <Store<StateInterface>>root.$store;
|
|
|
|
|
|
|
|
onBeforeMount(() => {
|
|
|
|
store.dispatch('user/getUsers').catch(error => console.warn(error));
|
|
|
|
});
|
|
|
|
|
2020-11-09 02:39:31 +00:00
|
|
|
const canEditRoles = computed(() =>
|
|
|
|
hasPermission(PERMISSIONS.ROLES_EDIT, store)
|
|
|
|
);
|
2020-11-06 00:17:04 +00:00
|
|
|
const user = ref(<FG.User>store.state.user.currentUser);
|
|
|
|
|
|
|
|
// can be dropped with VUE3
|
|
|
|
const userUpdated = (value: FG.User) => {
|
|
|
|
user.value = value;
|
|
|
|
console.log(value);
|
|
|
|
};
|
|
|
|
|
|
|
|
return {
|
|
|
|
user,
|
2020-11-09 02:39:31 +00:00
|
|
|
userUpdated,
|
|
|
|
canEditRoles
|
2020-11-06 00:17:04 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
});
|
|
|
|
</script>
|