2020-04-24 15:13:54 +02:00
|
|
|
<template>
|
2020-06-24 13:00:50 +02:00
|
|
|
<ui-form ref="form" class="role" v-slot="form" @submit="onSubmit" @load="onLoad" :route="route">
|
2021-09-11 14:54:28 +02:00
|
|
|
<ui-form-header v-model="model" prefix="@role.roles" title="@role.name" :disabled="disabled" :is-create="!$route.params.id" :state="form.state" :can-delete="meta.canDelete" @delete="onDelete" />
|
2021-01-09 19:09:31 +01:00
|
|
|
<ui-editor config="userRole" v-model="model" :meta="meta" :disabled="disabled">
|
|
|
|
|
<template v-slot:below>
|
|
|
|
|
<ui-editor-infos v-model="model" :disabled="disabled" />
|
|
|
|
|
</template>
|
|
|
|
|
</ui-editor>
|
2020-04-24 15:13:54 +02:00
|
|
|
</ui-form>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
2020-11-20 15:17:41 +01:00
|
|
|
import UserRolesApi from 'zero/api/userRoles.js';
|
2020-04-24 15:13:54 +02:00
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
data: () => ({
|
2020-06-24 13:00:50 +02:00
|
|
|
meta: {},
|
2020-07-03 14:33:21 +02:00
|
|
|
model: { name: null, features: [], domains: [], claims: [] },
|
2020-10-16 14:02:10 +02:00
|
|
|
route: zero.alias.settings.users + '-role',
|
2020-04-28 14:51:17 +02:00
|
|
|
disabled: false
|
2020-04-24 15:13:54 +02:00
|
|
|
}),
|
|
|
|
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
|
|
|
|
onLoad(form)
|
|
|
|
|
{
|
2020-10-19 14:48:21 +02:00
|
|
|
form.load(!this.$route.params.id ? UserRolesApi.getEmpty() : UserRolesApi.getById(this.$route.params.id)).then(response =>
|
2020-04-24 15:13:54 +02:00
|
|
|
{
|
2020-06-24 13:00:50 +02:00
|
|
|
this.disabled = !response.meta.canEdit;
|
|
|
|
|
this.meta = response.meta;
|
|
|
|
|
this.model = response.entity;
|
2020-04-24 15:13:54 +02:00
|
|
|
});
|
2020-04-27 16:01:55 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
2020-04-24 15:13:54 +02:00
|
|
|
onSubmit(form)
|
|
|
|
|
{
|
2020-06-24 13:00:50 +02:00
|
|
|
form.handle(UserRolesApi.save(this.model));
|
2020-04-24 15:13:54 +02:00
|
|
|
},
|
|
|
|
|
|
2020-06-24 13:00:50 +02:00
|
|
|
|
2020-04-24 15:13:54 +02:00
|
|
|
onDelete(item, opts)
|
|
|
|
|
{
|
|
|
|
|
opts.hide();
|
2020-10-19 14:48:21 +02:00
|
|
|
this.$refs.form.onDelete(UserRolesApi.delete.bind(this, this.$route.params.id));
|
2020-06-24 13:00:50 +02:00
|
|
|
}
|
2020-04-24 15:13:54 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss">
|
2020-04-25 19:38:45 +02:00
|
|
|
.role-permission-toggle + .role-permission-toggle
|
2020-04-24 15:13:54 +02:00
|
|
|
{
|
2020-04-25 19:38:45 +02:00
|
|
|
padding-top: 0;
|
2020-08-11 16:01:10 +02:00
|
|
|
margin-top: var(--padding);
|
2020-04-25 19:38:45 +02:00
|
|
|
}
|
|
|
|
|
|
2020-04-28 13:16:44 +02:00
|
|
|
.role .ui-box + .ui-permissions
|
2020-04-25 19:38:45 +02:00
|
|
|
{
|
|
|
|
|
margin-top: var(--padding);
|
2020-04-24 15:13:54 +02:00
|
|
|
}
|
|
|
|
|
</style>
|