diff --git a/src/components/modals/invite-user-modal/InviteUserModal.tsx b/src/components/modals/invite-user-modal/InviteUserModal.tsx index a3e591b3..7017f98b 100644 --- a/src/components/modals/invite-user-modal/InviteUserModal.tsx +++ b/src/components/modals/invite-user-modal/InviteUserModal.tsx @@ -25,7 +25,6 @@ import { User, UserGroup, UserInvite, UserRole, UserRoleId } from '@/models/User import { UsersService } from '@/services/UsersService'; import { DeleteOutlined } from '@ant-design/icons'; import { copyTextToClipboard, kebabCaseToTitleCase, useServerLicense } from '@/utils/Utils'; -import { getInviteMagicLink } from '@/utils/RouteUtils'; import CreateUserGroupModal from '@/pages/users/CreateUserGroupModal'; import { isAdminUserOrRole } from '@/utils/UserMgmtUtils'; @@ -440,7 +439,7 @@ export default function InviteUserModal({ isOpen, onInviteFinish, onClose, onCan type="link" style={{ marginRight: '1rem' }} onClick={async () => { - await copyTextToClipboard(getInviteMagicLink(invite.invite_code, invite.email)); + await copyTextToClipboard(invite.invite_url); notify.success({ message: 'Invite code copied to clipboard' }); }} > diff --git a/src/components/modals/user-details-modal/UserDetailsModal.tsx b/src/components/modals/user-details-modal/UserDetailsModal.tsx index c7919236..d7fa62d2 100644 --- a/src/components/modals/user-details-modal/UserDetailsModal.tsx +++ b/src/components/modals/user-details-modal/UserDetailsModal.tsx @@ -22,6 +22,7 @@ import { User, UserGroup, UserRole, UserRoleId } from '@/models/User'; import { UsersService } from '@/services/UsersService'; import { kebabCaseToTitleCase, snakeCaseToTitleCase, useServerLicense } from '@/utils/Utils'; import { isAdminUserOrRole } from '@/utils/UserMgmtUtils'; +import { isSaasBuild } from '@/services/BaseService'; interface UserdetailsModalProps { isOpen: boolean; @@ -320,9 +321,37 @@ export default function UserDetailsModal({ - - - + {!isSaasBuild && ( + <> + + + + + + + + + - - - - - - + + )} {isServerEE && ( <> diff --git a/src/pages/users/ProfilePage.tsx b/src/pages/users/ProfilePage.tsx index 4b5d66b3..69b9c757 100644 --- a/src/pages/users/ProfilePage.tsx +++ b/src/pages/users/ProfilePage.tsx @@ -9,6 +9,7 @@ import { UsersService } from '@/services/UsersService'; import { extractErrorMsg } from '@/utils/ServiceUtils'; import { useState } from 'react'; import { kebabCaseToTitleCase, snakeCaseToTitleCase } from '@/utils/Utils'; +import { isSaasBuild } from '@/services/BaseService'; export default function ProfilePage(props: PageProps) { const [notify, notifyCtx] = notification.useNotification(); @@ -90,63 +91,67 @@ export default function ProfilePage(props: PageProps) { - - - - - - - + {!isSaasBuild && ( + <> + + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + + + )} diff --git a/src/pages/users/UsersPage.tsx b/src/pages/users/UsersPage.tsx index 74c5ef7a..f2615a9c 100644 --- a/src/pages/users/UsersPage.tsx +++ b/src/pages/users/UsersPage.tsx @@ -182,12 +182,7 @@ export default function UsersPage(props: PageProps) { }, []); const onInviteUser = useCallback(() => { - if (isSaasBuild) { - window.location = getAmuiUrl('invite-user') as any; - return; - } else { - setIsInviteModalOpen(true); - } + setIsInviteModalOpen(true); }, []); const canDeleteUser: (user: User) => [boolean, string] = useCallback( @@ -378,44 +373,51 @@ export default function UsersPage(props: PageProps) { { - ev.domEvent.stopPropagation(); - const userClone = structuredClone(user); - onEditUser(userClone); - }, - }, - { - key: 'delete', - disabled: !canDeleteUser(user)[0], - title: canDeleteUser(user)[0] ? canDeleteUser(user)[1] : '', - label: 'Delete', - onClick: (ev: any) => { - ev.domEvent.stopPropagation(); - confirmDeleteUser(user); + items: (() => { + const items = [ + { + key: 'delete', + disabled: !canDeleteUser(user)[0], + title: canDeleteUser(user)[0] ? canDeleteUser(user)[1] : '', + label: 'Delete', + onClick: (ev: any) => { + ev.domEvent.stopPropagation(); + confirmDeleteUser(user); + }, }, - }, - ].concat( - !isSaasBuild && user.platform_role_id === 'super-admin' && store.username === user.username - ? [ - { - key: 'transfer', - label: 'Transfer Super Admin Rights', - disabled: false, - title: '', - onClick: (ev) => { - ev.domEvent.stopPropagation(); - setIsTransferSuperAdminRightsModalOpen(true); + ].concat( + !isSaasBuild && user.platform_role_id === 'super-admin' && store.username === user.username + ? [ + { + key: 'transfer', + label: 'Transfer Super Admin Rights', + disabled: false, + title: '', + onClick: (ev) => { + ev.domEvent.stopPropagation(); + setIsTransferSuperAdminRightsModalOpen(true); + }, }, - }, - ] - : [], - ) as MenuProps['items'], + ] + : [], + ) as MenuProps['items']; + + if (!isSaasBuild) { + items?.unshift({ + key: 'edit', + label: 'Change Password', + disabled: !canChangePassword(user)[0], + title: canChangePassword(user)[0] ? canChangePassword(user)[1] : '', + onClick: (ev: any) => { + ev.domEvent.stopPropagation(); + const userClone = structuredClone(user); + onEditUser(userClone); + }, + }); + } + + return items; + })(), }} >