Add password reset dialog

This commit is contained in:
Johannes Zellner
2025-02-13 17:15:48 +01:00
parent c7572f0624
commit 326e01d548
3 changed files with 115 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ import { ROLES } from '../constants.js';
import Section from '../components/Section.vue';
import GroupDialog from '../components/GroupDialog.vue';
import ImpersonateDialog from '../components/ImpersonateDialog.vue';
import PasswordResetDialog from '../components/PasswordResetDialog.vue';
import UsersModel from '../models/UsersModel.js';
import GroupsModel from '../models/GroupsModel.js';
import ProfileModel from '../models/ProfileModel.js';
@@ -50,6 +51,7 @@ const roles = ref([]);
const inputDialog = useTemplateRef('inputDialog');
const groupDialog = useTemplateRef('groupDialog');
const impersonateDialog = useTemplateRef('impersonateDialog');
const passwordResetDialog = useTemplateRef('passwordResetDialog');
const filteredUsers = computed(() => {
return users.value.filter(u => {
@@ -119,6 +121,10 @@ function onImpersonate(user) {
impersonateDialog.value.open(user);
}
function onPasswordReset(user) {
passwordResetDialog.value.open(user);
}
function onEditOrAddGroup(group = null) {
groupDialog.value.open(group);
}
@@ -184,6 +190,7 @@ onMounted(async () => {
<InputDialog ref="inputDialog" />
<GroupDialog ref="groupDialog" @success="refreshGroups()"/>
<ImpersonateDialog ref="impersonateDialog" />
<PasswordResetDialog ref="passwordResetDialog" />
<div class="content">
<Section :title="$t('main.navbar.users')">
@@ -213,7 +220,7 @@ onMounted(async () => {
<div class="table-actions">
<ButtonGroup>
<Button small tool secondary :disabled="!canEdit(user)" v-if="!user.inviteAccepted && !isMe(user) && !user.source" @click="invitation.show(user)" v-tooltip="$t('users.users.invitationTooltip')" icon="fa-solid fa-paper-plane" />
<Button small tool secondary :disabled="!canEdit(user)" v-if="user.inviteAccepted && !user.source" @click="passwordReset.show(user)" v-tooltip="$t('users.users.resetPasswordTooltip')" icon="fa-solid fa-key" />
<Button small tool secondary :disabled="!canEdit(user)" v-if="user.inviteAccepted && !user.source" @click="onPasswordReset(user)" v-tooltip="$t('users.users.resetPasswordTooltip')" icon="fa-solid fa-key" />
<Button small tool secondary :disabled="!canImpersonate(user)" @click="onImpersonate(user)" v-tooltip="$t('users.users.setGhostTooltip')" icon="fa-solid fa-user-secret" />
<Button small tool secondary :disabled="!canEdit(user)" @click="userEdit.show(user)" v-tooltip="$t('users.users.editUserTooltip')" icon="fa fa-pencil-alt" />
</ButtonGroup>