feat: change owner name using account form (#11683)

This commit is contained in:
Marcin Tojek 2024-01-18 12:32:01 +01:00 committed by GitHub
parent 1ea70ba573
commit c5d73b86d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 28 additions and 11 deletions

View File

@ -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}"
}

View File

@ -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}"
}

View File

@ -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}"
}

View File

@ -10,7 +10,7 @@ const meta: Meta<typeof AccountForm> = {
isLoading: false,
initialValues: {
username: "test-user",
name: "",
name: "Test User",
},
updateProfileError: undefined,
},

View File

@ -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

View File

@ -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<AccountFormProps> = ({
fullWidth
label={Language.usernameLabel}
/>
<TextField
{...getFieldHelpers("name")}
onBlur={(e) => {
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.'
/>
<div>
<LoadingButton

View File

@ -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));
};

View File

@ -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 = {