merge: upstream

This commit is contained in:
Marie 2023-12-23 02:09:23 +01:00
commit 5db583a3eb
701 changed files with 50809 additions and 13660 deletions

View file

@ -22,7 +22,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
<script lang="ts" setup>
import { computed } from 'vue';
import { computed, ref } from 'vue';
import { v4 as uuid } from 'uuid';
import XHeader from './_header_.vue';
import XEditor from './roles.editor.vue';
@ -39,17 +39,17 @@ const props = defineProps<{
id?: string;
}>();
let role = $ref(null);
let data = $ref(null);
const role = ref(null);
const data = ref(null);
if (props.id) {
role = await os.api('admin/roles/show', {
role.value = await os.api('admin/roles/show', {
roleId: props.id,
});
data = role;
data.value = role.value;
} else {
data = {
data.value = {
name: 'New Role',
description: '',
isAdministrator: false,
@ -69,24 +69,24 @@ if (props.id) {
async function save() {
rolesCache.delete();
if (role) {
if (role.value) {
os.apiWithDialog('admin/roles/update', {
roleId: role.id,
...data,
roleId: role.value.id,
...data.value,
});
router.push('/admin/roles/' + role.id);
router.push('/admin/roles/' + role.value.id);
} else {
const created = await os.apiWithDialog('admin/roles/create', {
...data,
...data.value,
});
router.push('/admin/roles/' + created.id);
}
}
const headerTabs = $computed(() => []);
const headerTabs = computed(() => []);
definePageMetadata(computed(() => role ? {
title: i18n.ts._role.edit + ': ' + role.name,
definePageMetadata(computed(() => role.value ? {
title: i18n.ts._role.edit + ': ' + role.value.name,
icon: 'ph-seal-check ph-bold ph-lg',
} : {
title: i18n.ts._role.new,