From 4cdab99148f3e008fc6bd3555e431d9faf5ad397 Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Thu, 18 Jan 2024 11:38:02 +0100 Subject: [PATCH 1/2] Field and examples --- examples/templates/devcontainer-docker/main.tf | 4 ++-- examples/templates/devcontainer-kubernetes/main.tf | 4 ++-- examples/templates/docker/main.tf | 4 ++-- .../UserSettingsPage/AccountPage/AccountForm.tsx | 13 +++++++++++++ 4 files changed, 19 insertions(+), 6 deletions(-) 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.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.' + />
Date: Thu, 18 Jan 2024 11:59:53 +0100 Subject: [PATCH 2/2] Fix tests --- .../UserSettingsPage/AccountPage/AccountForm.stories.tsx | 2 +- .../pages/UserSettingsPage/AccountPage/AccountForm.test.tsx | 4 ++-- .../pages/UserSettingsPage/AccountPage/AccountPage.test.tsx | 6 +++++- site/src/testHelpers/entities.ts | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) 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/AccountPage.test.tsx b/site/src/pages/UserSettingsPage/AccountPage/AccountPage.test.tsx index e98d1f116b2a5..910b131e3a494 100644 --- a/site/src/pages/UserSettingsPage/AccountPage/AccountPage.test.tsx +++ b/site/src/pages/UserSettingsPage/AccountPage/AccountPage.test.tsx @@ -7,7 +7,7 @@ import { mockApiError } from "testHelpers/entities"; const newData = { username: "user", - name: "", + name: "Mr User", }; const fillAndSubmitForm = async () => { @@ -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 = {