diff --git a/changes/issue-12568-add-org-support-url-input b/changes/issue-12568-add-org-support-url-input new file mode 100644 index 0000000000..586b727ab1 --- /dev/null +++ b/changes/issue-12568-add-org-support-url-input @@ -0,0 +1 @@ +- add Organization support URL input on the setting page Organization info form. diff --git a/frontend/pages/admin/OrgSettingsPage/cards/Info/Info.tsx b/frontend/pages/admin/OrgSettingsPage/cards/Info/Info.tsx index 181c72049f..b369c04806 100644 --- a/frontend/pages/admin/OrgSettingsPage/cards/Info/Info.tsx +++ b/frontend/pages/admin/OrgSettingsPage/cards/Info/Info.tsx @@ -13,6 +13,12 @@ import { IAppConfigFormErrors, } from "../constants"; +interface IOrgInfoFormData { + orgName: string; + orgLogoURL: string; + orgSupportURL: string; +} + const baseClass = "app-config-form"; const Info = ({ @@ -20,12 +26,14 @@ const Info = ({ handleSubmit, isUpdatingSettings, }: IAppConfigFormProps): JSX.Element => { - const [formData, setFormData] = useState({ + const [formData, setFormData] = useState({ orgName: appConfig.org_info.org_name || "", orgLogoURL: appConfig.org_info.org_logo_url || "", + orgSupportURL: + appConfig.org_info.contact_url || "https://fleetdm.com/company/contact", }); - const { orgName, orgLogoURL } = formData; + const { orgName, orgLogoURL, orgSupportURL } = formData; const [formErrors, setFormErrors] = useState({}); @@ -45,6 +53,12 @@ const Info = ({ errors.org_logo_url = `${orgLogoURL} is not a valid URL`; } + if (!orgSupportURL) { + errors.org_support_url = `Organization support URL must be present`; + } else if (!validUrl({ url: orgSupportURL, protocol: "http" })) { + errors.org_support_url = `${orgSupportURL} is not a valid URL`; + } + setFormErrors(errors); }; @@ -56,6 +70,7 @@ const Info = ({ org_info: { org_logo_url: orgLogoURL, org_name: orgName, + contact_url: orgSupportURL, }, }; @@ -85,6 +100,15 @@ const Info = ({ onBlur={validateForm} error={formErrors.org_logo_url} /> +
diff --git a/frontend/pages/admin/OrgSettingsPage/cards/constants.ts b/frontend/pages/admin/OrgSettingsPage/cards/constants.ts index 88c7464afb..8ae0173146 100644 --- a/frontend/pages/admin/OrgSettingsPage/cards/constants.ts +++ b/frontend/pages/admin/OrgSettingsPage/cards/constants.ts @@ -22,6 +22,7 @@ export interface IAppConfigFormErrors { server_url?: string | null; org_name?: string | null; org_logo_url?: string | null; + org_support_url?: string | null; idp_image_url?: string | null; sender_address?: string | null; server?: string | null;