Skip to content

Commit b3c4612

Browse files
fix: [UIE-9894] - IAM: enable own email editing (linode#13214)
* fix: [UIE-9894] - IAM: enable own email editing * Added changeset: IAM: User can’t edit their own email on the user details page
1 parent 94c5c04 commit b3c4612

File tree

4 files changed

+15
-11
lines changed

4 files changed

+15
-11
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@linode/manager": Fixed
3+
---
4+
5+
IAM: User can’t edit their own email on the user details page ([#13214](https://github.com/linode/manager/pull/13214))

packages/manager/src/features/IAM/Users/UserDetails/UserEmailPanel.test.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ describe('UserEmailPanel', () => {
2626
const user = accountUserFactory.build();
2727

2828
const { getByLabelText } = renderWithTheme(
29-
<UserEmailPanel activeUser={user} canUpdateUser={true} />
29+
<UserEmailPanel activeUser={user} />
3030
);
3131

3232
const emailTextField = getByLabelText('Email');
@@ -45,7 +45,7 @@ describe('UserEmailPanel', () => {
4545
);
4646

4747
const { findByLabelText, getByLabelText, getByText } = renderWithTheme(
48-
<UserEmailPanel activeUser={user} canUpdateUser={false} />
48+
<UserEmailPanel activeUser={user} />
4949
);
5050

5151
const warning = await findByLabelText(
@@ -70,7 +70,7 @@ describe('UserEmailPanel', () => {
7070
});
7171

7272
const { getByLabelText, getByText } = renderWithTheme(
73-
<UserEmailPanel activeUser={user} canUpdateUser={false} />
73+
<UserEmailPanel activeUser={user} />
7474
);
7575

7676
const warning = getByLabelText('This field can’t be modified.');
@@ -94,7 +94,7 @@ describe('UserEmailPanel', () => {
9494
username: 'user-1',
9595
});
9696

97-
renderWithTheme(<UserEmailPanel activeUser={user} canUpdateUser={true} />);
97+
renderWithTheme(<UserEmailPanel activeUser={user} />);
9898

9999
const emailInput = screen.getByLabelText('Email');
100100

@@ -114,7 +114,7 @@ describe('UserEmailPanel', () => {
114114
});
115115

116116
const { getByRole, findByDisplayValue } = renderWithTheme(
117-
<UserEmailPanel activeUser={user} canUpdateUser={false} />
117+
<UserEmailPanel activeUser={user} />
118118
);
119119

120120
await findByDisplayValue(user.email);

packages/manager/src/features/IAM/Users/UserDetails/UserEmailPanel.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ import type { User } from '@linode/api-v4';
1414

1515
interface Props {
1616
activeUser: User;
17-
canUpdateUser: boolean;
1817
}
1918

20-
export const UserEmailPanel = ({ canUpdateUser, activeUser }: Props) => {
19+
export const UserEmailPanel = ({ activeUser }: Props) => {
2120
const { enqueueSnackbar } = useSnackbar();
2221
const { profileUserName } = useDelegationRole();
2322

@@ -54,7 +53,7 @@ export const UserEmailPanel = ({ canUpdateUser, activeUser }: Props) => {
5453

5554
// This should be disabled if this is NOT the current user or if the proxy user is viewing their own profile.
5655
const disableEmailField =
57-
profileUserName !== activeUser.username || isProxyUser || !canUpdateUser;
56+
profileUserName !== activeUser.username || isProxyUser;
5857

5958
return (
6059
<Paper>
@@ -79,11 +78,11 @@ export const UserEmailPanel = ({ canUpdateUser, activeUser }: Props) => {
7978
/>
8079
<Button
8180
buttonType="primary"
82-
disabled={!isDirty || !canUpdateUser}
81+
disabled={!isDirty || disableEmailField}
8382
loading={isSubmitting}
8483
sx={{ mt: 2 }}
8584
tooltipText={
86-
!canUpdateUser
85+
disableEmailField
8786
? 'You do not have permission to update this user.'
8887
: undefined
8988
}

packages/manager/src/features/IAM/Users/UserDetails/UserProfile.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export const UserProfile = () => {
6868
>
6969
<UserDetailsPanel activeUser={user} assignedRoles={assignedRoles} />
7070
<UsernamePanel activeUser={user} canUpdateUser={isAccountAdmin} />
71-
<UserEmailPanel activeUser={user} canUpdateUser={isAccountAdmin} />
71+
<UserEmailPanel activeUser={user} />
7272
<DeleteUserPanel activeUser={user} canDeleteUser={isAccountAdmin} />
7373
</Stack>
7474
</>

0 commit comments

Comments
 (0)