diff --git a/web/src/pages/UsersOverviewPage/UsersTable.tsx b/web/src/pages/UsersOverviewPage/UsersTable.tsx index 8fad3dde29..cfbba7c76b 100644 --- a/web/src/pages/UsersOverviewPage/UsersTable.tsx +++ b/web/src/pages/UsersOverviewPage/UsersTable.tsx @@ -39,6 +39,7 @@ import { isPresent } from '../../shared/defguard-ui/utils/isPresent'; import { openModal } from '../../shared/hooks/modalControls/modalsSubjects'; import { ModalName } from '../../shared/hooks/modalControls/modalTypes'; import { useApp } from '../../shared/hooks/useApp'; +import { useAuth } from '../../shared/hooks/useAuth'; import { getGroupsInfoQueryOptions, getLicenseInfoQueryOptions, @@ -55,6 +56,7 @@ export const UsersTable = () => { const { data: users } = useSuspenseQuery(getUsersOverviewQueryOptions); const { data: license } = useSuspenseQuery(getLicenseInfoQueryOptions); const appInfo = useApp((s) => s.appInfo); + const authUsername = useAuth((s) => s.user?.username); const reservedEmails = useMemo(() => users.map((u) => u.email.toLowerCase()), [users]); const reservedUsernames = useMemo(() => users.map((u) => u.username), [users]); @@ -267,7 +269,7 @@ export const UsersTable = () => { testId: 'change-password', onClick: () => { openModal(ModalName.ChangePassword, { - adminForm: true, + adminForm: rowData.username !== authUsername, user: rowData, }); }, @@ -415,6 +417,7 @@ export const UsersTable = () => { handleEditGroups, groups, appInfo, + authUsername, ], ); diff --git a/web/src/pages/user-profile/UserProfilePage/tabs/ProfileDetailsTab/components/ProfileAuthCard/ProfileAuthCard.tsx b/web/src/pages/user-profile/UserProfilePage/tabs/ProfileDetailsTab/components/ProfileAuthCard/ProfileAuthCard.tsx index 282bb8d8d2..a700e61d0d 100644 --- a/web/src/pages/user-profile/UserProfilePage/tabs/ProfileDetailsTab/components/ProfileAuthCard/ProfileAuthCard.tsx +++ b/web/src/pages/user-profile/UserProfilePage/tabs/ProfileDetailsTab/components/ProfileAuthCard/ProfileAuthCard.tsx @@ -34,6 +34,7 @@ export const ProfileAuthCard = () => { const securityKeys = useUserProfile((s) => s.security_keys); const user = useUserProfile((s) => s.user); const authUsername = useAuth((s) => s.user?.username as string); + const isCurrentUserAdmin = useAuth((s) => s.isAdmin); const smtpEnabled = useApp((s) => s.appInfo.smtp_enabled); const devices = useUserProfile((s) => s.devices); const biometricDevices = useMemo( @@ -269,7 +270,7 @@ export const ProfileAuthCard = () => { // open admin form only if admin and is not editing self openModal('changePassword', { user, - adminForm: user.is_admin && user.username !== authUsername, + adminForm: isCurrentUserAdmin && user.username !== authUsername, }); }} />