Skip to content

Commit c5d73b8

Browse files
authored
feat: change owner name using account form (coder#11683)
1 parent 1ea70ba commit c5d73b8

File tree

8 files changed

+28
-11
lines changed

8 files changed

+28
-11
lines changed

examples/templates/devcontainer-docker/main.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ resource "coder_agent" "main" {
3636
# You can remove this block if you'd prefer to configure Git manually or using
3737
# dotfiles. (see docs/dotfiles.md)
3838
env = {
39-
GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}"
40-
GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}"
39+
GIT_AUTHOR_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner)
4140
GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}"
41+
GIT_COMMITTER_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner)
4242
GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}"
4343
}
4444

examples/templates/devcontainer-kubernetes/main.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ resource "coder_agent" "main" {
6161
# You can remove this block if you'd prefer to configure Git manually or using
6262
# dotfiles. (see docs/dotfiles.md)
6363
env = {
64-
GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}"
65-
GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}"
64+
GIT_AUTHOR_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner)
6665
GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}"
66+
GIT_COMMITTER_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner)
6767
GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}"
6868
}
6969

examples/templates/docker/main.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ resource "coder_agent" "main" {
3939
# You can remove this block if you'd prefer to configure Git manually or using
4040
# dotfiles. (see docs/dotfiles.md)
4141
env = {
42-
GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}"
43-
GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}"
42+
GIT_AUTHOR_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner)
4443
GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}"
44+
GIT_COMMITTER_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner)
4545
GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}"
4646
}
4747

site/src/pages/UserSettingsPage/AccountPage/AccountForm.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const meta: Meta<typeof AccountForm> = {
1010
isLoading: false,
1111
initialValues: {
1212
username: "test-user",
13-
name: "",
13+
name: "Test User",
1414
},
1515
updateProfileError: undefined,
1616
},

site/src/pages/UserSettingsPage/AccountPage/AccountForm.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ describe("AccountForm", () => {
1313
// Given
1414
const mockInitialValues: UpdateUserProfileRequest = {
1515
username: MockUser2.username,
16-
name: "",
16+
name: MockUser2.name,
1717
};
1818

1919
// When
@@ -44,7 +44,7 @@ describe("AccountForm", () => {
4444
// Given
4545
const mockInitialValues: UpdateUserProfileRequest = {
4646
username: MockUser2.username,
47-
name: "",
47+
name: MockUser2.name,
4848
};
4949

5050
// When

site/src/pages/UserSettingsPage/AccountPage/AccountForm.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import LoadingButton from "@mui/lab/LoadingButton";
1515
export const Language = {
1616
usernameLabel: "Username",
1717
emailLabel: "Email",
18+
nameLabel: "Name",
1819
updateSettings: "Update account",
1920
};
2021

@@ -72,6 +73,18 @@ export const AccountForm: FC<AccountFormProps> = ({
7273
fullWidth
7374
label={Language.usernameLabel}
7475
/>
76+
<TextField
77+
{...getFieldHelpers("name")}
78+
onBlur={(e) => {
79+
e.target.value = e.target.value.trim();
80+
form.handleChange(e);
81+
}}
82+
aria-disabled={!editable}
83+
disabled={!editable}
84+
fullWidth
85+
label={Language.nameLabel}
86+
helperText='The human-readable name is optional and can be accessed in a template via the "data.coder_workspace.me.owner_name" property.'
87+
/>
7588

7689
<div>
7790
<LoadingButton

site/src/pages/UserSettingsPage/AccountPage/AccountPage.test.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,18 @@ import { mockApiError } from "testHelpers/entities";
77

88
const newData = {
99
username: "user",
10-
name: "",
10+
name: "Mr User",
1111
};
1212

1313
const fillAndSubmitForm = async () => {
1414
await waitFor(() => screen.findByLabelText("Username"));
1515
fireEvent.change(screen.getByLabelText("Username"), {
1616
target: { value: newData.username },
1717
});
18+
await waitFor(() => screen.findByLabelText("Name"));
19+
fireEvent.change(screen.getByLabelText("Name"), {
20+
target: { value: newData.name },
21+
});
1822
fireEvent.click(screen.getByText(AccountForm.Language.updateSettings));
1923
};
2024

site/src/testHelpers/entities.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ export const MockUser2: TypesGen.User = {
315315
last_seen_at: "2022-09-14T19:12:21Z",
316316
login_type: "oidc",
317317
theme_preference: "",
318-
name: "",
318+
name: "Mock User The Second",
319319
};
320320

321321
export const SuspendedMockUser: TypesGen.User = {

0 commit comments

Comments
 (0)