diff --git a/examples/templates/devcontainer-docker/main.tf b/examples/templates/devcontainer-docker/main.tf index f69e03b58eda1..c8e78a1fc6f3c 100644 --- a/examples/templates/devcontainer-docker/main.tf +++ b/examples/templates/devcontainer-docker/main.tf @@ -36,9 +36,9 @@ resource "coder_agent" "main" { # You can remove this block if you'd prefer to configure Git manually or using # dotfiles. (see docs/dotfiles.md) env = { - GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}" - GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}" + GIT_AUTHOR_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner) GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}" + GIT_COMMITTER_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner) GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}" } diff --git a/examples/templates/devcontainer-kubernetes/main.tf b/examples/templates/devcontainer-kubernetes/main.tf index c61e26351e197..04044e6744cb0 100644 --- a/examples/templates/devcontainer-kubernetes/main.tf +++ b/examples/templates/devcontainer-kubernetes/main.tf @@ -61,9 +61,9 @@ resource "coder_agent" "main" { # You can remove this block if you'd prefer to configure Git manually or using # dotfiles. (see docs/dotfiles.md) env = { - GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}" - GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}" + GIT_AUTHOR_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner) GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}" + GIT_COMMITTER_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner) GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}" } diff --git a/examples/templates/docker/main.tf b/examples/templates/docker/main.tf index 7abea5b6f5e4f..96938695dbf82 100644 --- a/examples/templates/docker/main.tf +++ b/examples/templates/docker/main.tf @@ -39,9 +39,9 @@ resource "coder_agent" "main" { # You can remove this block if you'd prefer to configure Git manually or using # dotfiles. (see docs/dotfiles.md) env = { - GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}" - GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}" + GIT_AUTHOR_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner) GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}" + GIT_COMMITTER_NAME = coalesce(data.coder_workspace.me.owner_name, data.coder_workspace.me.owner) GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}" } diff --git a/site/src/pages/UserSettingsPage/AccountPage/AccountForm.stories.tsx b/site/src/pages/UserSettingsPage/AccountPage/AccountForm.stories.tsx index c6c5f4dc86c08..aec4862590473 100644 --- a/site/src/pages/UserSettingsPage/AccountPage/AccountForm.stories.tsx +++ b/site/src/pages/UserSettingsPage/AccountPage/AccountForm.stories.tsx @@ -10,7 +10,7 @@ const meta: Meta = { isLoading: false, initialValues: { username: "test-user", - name: "", + name: "Test User", }, updateProfileError: undefined, }, diff --git a/site/src/pages/UserSettingsPage/AccountPage/AccountForm.test.tsx b/site/src/pages/UserSettingsPage/AccountPage/AccountForm.test.tsx index 797dd5dab92f6..b790ac2dfea61 100644 --- a/site/src/pages/UserSettingsPage/AccountPage/AccountForm.test.tsx +++ b/site/src/pages/UserSettingsPage/AccountPage/AccountForm.test.tsx @@ -13,7 +13,7 @@ describe("AccountForm", () => { // Given const mockInitialValues: UpdateUserProfileRequest = { username: MockUser2.username, - name: "", + name: MockUser2.name, }; // When @@ -44,7 +44,7 @@ describe("AccountForm", () => { // Given const mockInitialValues: UpdateUserProfileRequest = { username: MockUser2.username, - name: "", + name: MockUser2.name, }; // When diff --git a/site/src/pages/UserSettingsPage/AccountPage/AccountForm.tsx b/site/src/pages/UserSettingsPage/AccountPage/AccountForm.tsx index 6de6e06172efb..e47d862234256 100644 --- a/site/src/pages/UserSettingsPage/AccountPage/AccountForm.tsx +++ b/site/src/pages/UserSettingsPage/AccountPage/AccountForm.tsx @@ -15,6 +15,7 @@ import LoadingButton from "@mui/lab/LoadingButton"; export const Language = { usernameLabel: "Username", emailLabel: "Email", + nameLabel: "Name", updateSettings: "Update account", }; @@ -72,6 +73,18 @@ export const AccountForm: FC = ({ fullWidth label={Language.usernameLabel} /> + { + e.target.value = e.target.value.trim(); + form.handleChange(e); + }} + aria-disabled={!editable} + disabled={!editable} + fullWidth + label={Language.nameLabel} + helperText='The human-readable name is optional and can be accessed in a template via the "data.coder_workspace.me.owner_name" property.' + />
{ @@ -15,6 +15,10 @@ const fillAndSubmitForm = async () => { fireEvent.change(screen.getByLabelText("Username"), { target: { value: newData.username }, }); + await waitFor(() => screen.findByLabelText("Name")); + fireEvent.change(screen.getByLabelText("Name"), { + target: { value: newData.name }, + }); fireEvent.click(screen.getByText(AccountForm.Language.updateSettings)); }; diff --git a/site/src/testHelpers/entities.ts b/site/src/testHelpers/entities.ts index d27d9f0223a4b..23eca59ea9077 100644 --- a/site/src/testHelpers/entities.ts +++ b/site/src/testHelpers/entities.ts @@ -315,7 +315,7 @@ export const MockUser2: TypesGen.User = { last_seen_at: "2022-09-14T19:12:21Z", login_type: "oidc", theme_preference: "", - name: "", + name: "Mock User The Second", }; export const SuspendedMockUser: TypesGen.User = {