mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-05-31 20:25:14 -04:00
parent
fc92c39b7c
commit
ace1d2f9ee
@ -1,22 +1,19 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-container fluid>
|
<v-container fluid>
|
||||||
<BaseDialog v-model="deleteDialog" :title="$t('general.confirm')" color="error" @confirm="deleteUser(deleteTarget)">
|
<BaseDialog
|
||||||
|
v-model="deleteDialog"
|
||||||
|
:title="$tc('general.confirm')"
|
||||||
|
color="error"
|
||||||
|
@confirm="deleteUser(deleteTargetId)"
|
||||||
|
>
|
||||||
<template #activator> </template>
|
<template #activator> </template>
|
||||||
|
|
||||||
<v-card-text
|
<v-card-text>
|
||||||
v-if="isUserOwnAccount === true">
|
<v-alert v-if="isUserOwnAccount" type="warning" text outlined>
|
||||||
<v-alert
|
{{ $t("general.confirm-delete-own-admin-account") }}
|
||||||
text
|
|
||||||
outlined
|
|
||||||
color="deep-orange"
|
|
||||||
>⚠️ {{ $t("general.confirm-delete-own-admin-account") }}
|
|
||||||
<br/>
|
|
||||||
</v-alert>
|
</v-alert>
|
||||||
{{ $t("general.confirm-delete-generic") }}
|
{{ $t("general.confirm-delete-generic") }}
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
<v-card-text v-else>
|
|
||||||
{{ $t("general.confirm-delete-generic") }}
|
|
||||||
</v-card-text>
|
|
||||||
</BaseDialog>
|
</BaseDialog>
|
||||||
|
|
||||||
<BaseCardSectionTitle title="User Management"> </BaseCardSectionTitle>
|
<BaseCardSectionTitle title="User Management"> </BaseCardSectionTitle>
|
||||||
@ -62,9 +59,8 @@
|
|||||||
color="error"
|
color="error"
|
||||||
@click.stop="
|
@click.stop="
|
||||||
deleteDialog = true;
|
deleteDialog = true;
|
||||||
deleteTarget = item.id;
|
deleteTargetId = item.id;
|
||||||
isUserOwnAccount = item.id === user.id ? true : false;
|
"
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<v-icon>
|
<v-icon>
|
||||||
{{ $globals.icons.delete }}
|
{{ $globals.icons.delete }}
|
||||||
@ -91,21 +87,32 @@ export default defineComponent({
|
|||||||
const refUserDialog = ref();
|
const refUserDialog = ref();
|
||||||
const { $auth } = useContext();
|
const { $auth } = useContext();
|
||||||
|
|
||||||
const user = computed(() => $auth.user);
|
const user = computed(() => $auth.user as UserOut | null);
|
||||||
|
|
||||||
const { i18n } = useContext();
|
const { i18n } = useContext();
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
const isUserOwnAccount = computed(() => {
|
||||||
|
return state.deleteTargetId === user.value?.id;
|
||||||
|
});
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
deleteDialog: false,
|
deleteDialog: false,
|
||||||
deleteTarget: 0,
|
deleteTargetId: "",
|
||||||
isUserOwnAccount: false,
|
|
||||||
search: "",
|
search: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
const { users, refreshAllUsers } = useAllUsers();
|
const { users, refreshAllUsers } = useAllUsers();
|
||||||
const { loading, deleteUser } = useUser(refreshAllUsers);
|
const { loading, deleteUser: deleteUserMixin } = useUser(refreshAllUsers);
|
||||||
|
|
||||||
|
function deleteUser(id: string) {
|
||||||
|
deleteUserMixin(id);
|
||||||
|
|
||||||
|
if (isUserOwnAccount.value) {
|
||||||
|
$auth.logout();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function handleRowClick(item: UserOut) {
|
function handleRowClick(item: UserOut) {
|
||||||
router.push(`/admin/manage/users/${item.id}`);
|
router.push(`/admin/manage/users/${item.id}`);
|
||||||
@ -140,6 +147,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
isUserOwnAccount,
|
||||||
unlockAllUsers,
|
unlockAllUsers,
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
headers,
|
headers,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user