From 8dad42c0a7867e7ec6206b86042dbae5db96ee07 Mon Sep 17 00:00:00 2001 From: Pavindu Lakshan Date: Mon, 14 Oct 2024 13:10:34 +0530 Subject: [PATCH 1/3] Add administrator settings route under console settings route config --- apps/console/src/configs/routes.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/console/src/configs/routes.tsx b/apps/console/src/configs/routes.tsx index 21232dd9679..e8b4224728b 100644 --- a/apps/console/src/configs/routes.tsx +++ b/apps/console/src/configs/routes.tsx @@ -1191,6 +1191,18 @@ export const getAppViewRoutes = (): RouteInterface[] => { path: AppConstants.getPaths().get("CONSOLE_ADMINISTRATORS_EDIT"), protected: true, showOnSidePanel: false + }, + { + component: lazy(() => import("@wso2is/admin.administrators.v1/pages/administrator-settings")), + exact: true, + icon: { + icon: getSidePanelIcons().childIcon + }, + id: "administrator-settings-edit", + name: "administrator-settings-edit", + path: AppConstants.getPaths().get("ADMINISTRATOR_SETTINGS"), + protected: true, + showOnSidePanel: false } ], component: lazy(() => import("@wso2is/admin.console-settings.v1/pages/console-settings-page")), From 239ec661b101a636997196a08909b5a410f3ad25 Mon Sep 17 00:00:00 2001 From: Pavindu Lakshan Date: Mon, 14 Oct 2024 13:11:23 +0530 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=A6=8B=20Add=20changeset?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/lazy-rivers-sparkle.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/lazy-rivers-sparkle.md diff --git a/.changeset/lazy-rivers-sparkle.md b/.changeset/lazy-rivers-sparkle.md new file mode 100644 index 00000000000..ceb973d4178 --- /dev/null +++ b/.changeset/lazy-rivers-sparkle.md @@ -0,0 +1,5 @@ +--- +"@wso2is/console": patch +--- + +Add administrator settings route under console settings route config From 5e492dc488ca72b3653838baa8d68db25a18a017 Mon Sep 17 00:00:00 2001 From: Pavindu Lakshan Date: Mon, 14 Oct 2024 13:24:09 +0530 Subject: [PATCH 3/3] Conditionally display the back button text of administrator settings page --- .../src/extensions/i18n/models/extensions.ts | 1 + .../i18n/resources/en-US/extensions.ts | 1 + .../pages/administrator-settings.tsx | 21 +++++++++++++++---- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/apps/console/src/extensions/i18n/models/extensions.ts b/apps/console/src/extensions/i18n/models/extensions.ts index 74ff6b34257..175cd2e66f2 100755 --- a/apps/console/src/extensions/i18n/models/extensions.ts +++ b/apps/console/src/extensions/i18n/models/extensions.ts @@ -3326,6 +3326,7 @@ export interface Extensions { administratorSettingsSubtitle: string; administratorSettingsTitle: string; backButton: string; + backButtonConsoleSettings: string; disableToggleMessage: string; enableToggleMessage: string; error: { diff --git a/apps/console/src/extensions/i18n/resources/en-US/extensions.ts b/apps/console/src/extensions/i18n/resources/en-US/extensions.ts index de4dae4de29..4ac3b773006 100755 --- a/apps/console/src/extensions/i18n/resources/en-US/extensions.ts +++ b/apps/console/src/extensions/i18n/resources/en-US/extensions.ts @@ -4026,6 +4026,7 @@ export const extensions: Extensions = { administratorSettingsSubtitle: "Settings related to organizational administrators.", administratorSettingsTitle: "Administrator Settings", backButton: "Go back to administrators", + backButtonConsoleSettings: "Go back to console settings", disableToggleMessage: "Enable users to manage the organization", enableToggleMessage: "Disable users to manage the organization", error: { diff --git a/features/admin.administrators.v1/pages/administrator-settings.tsx b/features/admin.administrators.v1/pages/administrator-settings.tsx index ae9b7aa538d..a669d8e9a6d 100644 --- a/features/admin.administrators.v1/pages/administrator-settings.tsx +++ b/features/admin.administrators.v1/pages/administrator-settings.tsx @@ -16,14 +16,15 @@ * under the License. */ -import { history, store } from "@wso2is/admin.core.v1"; +import { FeatureAccessConfigInterface } from "@wso2is/access-control"; +import { AppConstants, AppState, history, store } from "@wso2is/admin.core.v1"; import { AlertLevels, IdentifiableComponentInterface } from "@wso2is/core/models"; import { addAlert } from "@wso2is/core/store"; import { DocumentationLink, PageLayout, useDocumentation } from "@wso2is/react-components"; import { AxiosError } from "axios"; import React, { FunctionComponent, ReactElement, SyntheticEvent, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { useDispatch } from "react-redux"; +import { useDispatch, useSelector } from "react-redux"; import { Dispatch } from "redux"; import { Checkbox, CheckboxProps, Icon, Message } from "semantic-ui-react"; import { updateOrganizationConfigV2 } from "../api/updateOrganizationConfigV2"; @@ -55,6 +56,14 @@ export const AdminSettingsPage: FunctionComponent = const dispatch: Dispatch = useDispatch(); + const consoleSettingsFeatureConfig: FeatureAccessConfigInterface = useSelector( + (state: AppState) => state?.config?.ui?.features?.consoleSettings + ); + const isPrivilegedUsersInConsoleSettingsEnabled: boolean = !consoleSettingsFeatureConfig + ?.disabledFeatures?.includes( + "consoleSettings.privilegedUsers" + ); + const useOrgConfig: UseOrganizationConfigType = useOrganizationConfigV2; const updateOrgConfig: (isEnterpriseLoginEnabled: OrganizationInterface) => Promise = updateOrganizationConfigV2; @@ -155,7 +164,9 @@ export const AdminSettingsPage: FunctionComponent = * This handles back button navigation */ const handleBackButtonClick = () => { - history.push(AdministratorConstants.getPaths().get("COLLABORATOR_USERS_PATH")); + history.push(isPrivilegedUsersInConsoleSettingsEnabled + ? AppConstants.getPaths().get("CONSOLE_SETTINGS") + : AdministratorConstants.getPaths().get("COLLABORATOR_USERS_PATH")); }; /** @@ -197,7 +208,9 @@ export const AdminSettingsPage: FunctionComponent = backButton={ { "data-componentid": `${ testId }-page-back-button`, onClick: handleBackButtonClick, - text: t("extensions:manage.users.administratorSettings.backButton") + text: isPrivilegedUsersInConsoleSettingsEnabled + ? t("extensions:manage.users.administratorSettings.backButtonConsoleSettings") + : t("extensions:manage.users.administratorSettings.backButton") } } bottomMargin={ false } contentTopMargin={ true }