From a27a120bb828b2a6107840635614bd6eded81b2e Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Thu, 14 Dec 2023 14:10:46 -0500 Subject: [PATCH] Issue 214 - User settings should show if the user is disabled If a user is disabled then show a "locked" icon next tothe user name in the userSettings page fixes: https://github.com/freeipa/freeipa-webui/issues/214 Signed-off-by: Mark Reynolds --- src/pages/ActiveUsers/ActiveUsersTabs.tsx | 22 +++++++++++++++++++++- src/utils/userUtils.tsx | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/pages/ActiveUsers/ActiveUsersTabs.tsx b/src/pages/ActiveUsers/ActiveUsersTabs.tsx index ec54ed3d..c134b7d6 100644 --- a/src/pages/ActiveUsers/ActiveUsersTabs.tsx +++ b/src/pages/ActiveUsers/ActiveUsersTabs.tsx @@ -1,6 +1,7 @@ import React, { useState } from "react"; // PatternFly import { + Icon, Title, Page, PageSection, @@ -25,6 +26,7 @@ import BreadcrumbLayout from "src/components/layouts/BreadcrumbLayout"; import DataSpinner from "src/components/layouts/DataSpinner"; // Hooks import { useUserSettings } from "src/hooks/useUserSettingsData"; +import LockIcon from "@patternfly/react-icons/dist/esm/icons/lock-icon"; const ActiveUsersTabs = () => { // Get location (React Router DOM) and get state data @@ -58,6 +60,8 @@ const ActiveUsersTabs = () => { return ; } + const disabled = userSettingsData.user.nsaccountlock; + return ( @@ -68,7 +72,23 @@ const ActiveUsersTabs = () => { /> - <Text>{userData.uid}</Text> + <Text + className="pf-v5-u-display-flex" + title={disabled ? "User is disabled" : ""} + > + {userData.uid} + {disabled ? ( + <Icon + className="pf-v5-u-ml-sm pf-v5-u-mt-sm" + status="info" + size="md" + > + <LockIcon /> + </Icon> + ) : ( + "" + )} + </Text> diff --git a/src/utils/userUtils.tsx b/src/utils/userUtils.tsx index f7655815..1c97b821 100644 --- a/src/utils/userUtils.tsx +++ b/src/utils/userUtils.tsx @@ -221,7 +221,7 @@ export const objectToUser = ( krbcanonicalname: partialUser.krbcanonicalname || oldUserObject?.krbcanonicalname || [], nsaccountlock: - partialUser.nsaccountlock || oldUserObject?.nsaccountlock || true, + partialUser.nsaccountlock || oldUserObject?.nsaccountlock || false, objectclass: partialUser.objectclass || oldUserObject?.objectclass || [], ipauniqueid: partialUser.ipauniqueid || oldUserObject?.ipauniqueid || "", ipantsecurityidentifier: