Skip to content

Commit

Permalink
Merge pull request #1165 from adityadeshlahre/fix-follow-update-commi…
Browse files Browse the repository at this point in the history
…t-user-management-page

fix(userManagement): infinite rendering fix + conditional checkBox fixup
  • Loading branch information
mozzy11 committed Jul 8, 2024
2 parents 0a7c868 + 5aa69e4 commit af702ad
Showing 1 changed file with 75 additions and 77 deletions.
152 changes: 75 additions & 77 deletions frontend/src/components/admin/userManagement/UserAddModify.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ function UserAddModify() {
const [isActive, setIsActive] = useState("radio-6");
const [copyUserPermission, setCopyUserPermission] = useState("0");
const [copyUserPermissionList, setCopyUserPermissionList] = useState(null);
const [testSectionsSelect, setTestSectionsSelect] = useState("AllLabUnits");
const [userData, setUserData] = useState(null);
const [userDataShow, setUserDataShow] = useState({});
const [userDataPost, setUserDataPost] = useState(null);
Expand All @@ -67,8 +66,6 @@ function UserAddModify() {
);
const [selectedTestSectionLabUnits, setSelectedTestSectionLabUnits] =
useState({});

// this keeps the order of the test section lab roles
const [selectedTestSectionList, setSelectedTestSectionList] = useState([]);

const ID = (() => {
Expand Down Expand Up @@ -241,15 +238,17 @@ function UserAddModify() {
}));
}

if (userData.selectedRoles) {
if (userData.selectedRoles !== undefined) {
if (ID !== "0") {
const selectedGlobalLabUniRoles = userData.selectedRoles.map(
const selectedGlobalLabUnitRoles = userData.selectedRoles.map(
(item) => item,
);
setSelectedGlobalLabUnitRoles(selectedGlobalLabUniRoles);
setSelectedGlobalLabUnitRoles(selectedGlobalLabUnitRoles);
} else {
setSelectedGlobalLabUnitRoles([]);
}
} else {
setSelectedGlobalLabUnitRoles([]);
}

if (userData.selectedTestSectionLabUnits) {
Expand All @@ -261,7 +260,7 @@ function UserAddModify() {
}
}
}
}, [userData]);
}, [userData, ID]);

useEffect(() => {
if (userDataShow) {
Expand All @@ -273,6 +272,37 @@ function UserAddModify() {
}
}, [userDataShow]);

useEffect(() => {
if (copyUserPermission) {
setUserDataPost((prevUserDataPost) => ({
...prevUserDataPost,
systemUserIdToCopy: copyUserPermission,
allowCopyUserRoles: "Y",
}));
setUserDataShow((prevUserData) => ({
...prevUserData,
systemUserIdToCopy: copyUserPermission,
allowCopyUserRoles: "Y",
}));
setSaveButton(false);
}
}, [copyUserPermission]);

useEffect(() => {
if (selectedTestSectionLabUnits) {
setUserDataPost((prevUserDataPost) => ({
...prevUserDataPost,
selectedTestSectionLabUnits: selectedTestSectionLabUnits,
}));

setUserDataShow((prevUserData) => ({
...prevUserData,
selectedTestSectionLabUnits: selectedTestSectionLabUnits,
}));
setSaveButton(false);
}
}, [selectedTestSectionLabUnits]);

function userSavePostCall() {
setIsLoading(true);
postToOpenElisServerJsonResponse(
Expand Down Expand Up @@ -319,7 +349,7 @@ function UserAddModify() {
...prevUserDataPost,
userLoginName: e.target.value,
}));
setUserData((prevUserData) => ({
setUserDataShow((prevUserData) => ({
...prevUserData,
userLoginName: e.target.value,
}));
Expand All @@ -331,7 +361,7 @@ function UserAddModify() {
...prevUserDataPost,
userPassword: e.target.value,
}));
setUserData((prevUserData) => ({
setUserDataShow((prevUserData) => ({
...prevUserData,
userPassword: e.target.value,
}));
Expand All @@ -343,7 +373,7 @@ function UserAddModify() {
...prevUserDataPost,
confirmPassword: e.target.value,
}));
setUserData((prevUserData) => ({
setUserDataShow((prevUserData) => ({
...prevUserData,
confirmPassword: e.target.value,
}));
Expand All @@ -355,7 +385,7 @@ function UserAddModify() {
...prevUserDataPost,
userFirstName: e.target.value,
}));
setUserData((prevUserData) => ({
setUserDataShow((prevUserData) => ({
...prevUserData,
userFirstName: e.target.value,
}));
Expand All @@ -367,7 +397,7 @@ function UserAddModify() {
...prevUserDataPost,
userLastName: e.target.value,
}));
setUserData((prevUserData) => ({
setUserDataShow((prevUserData) => ({
...prevUserData,
userLastName: e.target.value,
}));
Expand All @@ -379,7 +409,7 @@ function UserAddModify() {
...prevUserDataPost,
expirationDate: e.target.value,
}));
setUserData((prevUserData) => ({
setUserDataShow((prevUserData) => ({
...prevUserData,
expirationDate: e.target.value,
}));
Expand All @@ -391,7 +421,7 @@ function UserAddModify() {
...prevUserDataPost,
timeout: e.target.value,
}));
setUserData((prevUserData) => ({
setUserDataShow((prevUserData) => ({
...prevUserData,
timeout: e.target.value,
}));
Expand All @@ -403,7 +433,7 @@ function UserAddModify() {
...prevUserDataPost,
accountActive: e.target.value,
}));
setUserData((prevUserData) => ({
setUserDataShow((prevUserData) => ({
...prevUserData,
accountActive: e.target.value,
}));
Expand All @@ -415,7 +445,7 @@ function UserAddModify() {
...prevUserDataPost,
accountDisabled: e.target.value,
}));
setUserData((prevUserData) => ({
setUserDataShow((prevUserData) => ({
...prevUserData,
accountDisabled: e.target.value,
}));
Expand All @@ -427,7 +457,7 @@ function UserAddModify() {
...prevUserDataPost,
accountLocked: e.target.value,
}));
setUserData((prevUserData) => ({
setUserDataShow((prevUserData) => ({
...prevUserData,
accountLocked: e.target.value,
}));
Expand All @@ -444,36 +474,23 @@ function UserAddModify() {
setSaveButton(false);
}

useEffect(() => {
setUserDataPost((prevUserDataPost) => ({
...prevUserDataPost,
systemUserIdToCopy: copyUserPermission,
allowCopyUserRoles: "Y",
}));
setUserDataShow((prevUserData) => ({
...prevUserData,
systemUserIdToCopy: copyUserPermission,
allowCopyUserRoles: "Y",
}));
setUserData((prevUserData) => ({
...prevUserData,
systemUserIdToCopy: copyUserPermission,
allowCopyUserRoles: "Y",
}));
setSaveButton(false);
}, [copyUserPermission]);

function handleCopyUserPermissionsChangeClick() {
setSelectedTestSectionLabUnits([]);
setSelectedTestSectionList([]);
userSavePostCall();
}

function handleCheckboxChange(roleId) {
const numberToUpdate = ["71", "72", "73", "11", "2"];
const numberToUpdate = userDataShow.globalRoles
.filter((role) => role.roleName !== "Global Administrator")
.map((role) => role.roleId);
let updatedRoles = [...selectedGlobalLabUnitRoles];

if (roleId === "1") {
const globalAdminRoleId = userDataShow.globalRoles.find(
(role) => role.roleName === "Global Administrator",
)?.roleId;

if (globalAdminRoleId && roleId === globalAdminRoleId) {
if (selectedGlobalLabUnitRoles.includes(roleId)) {
updatedRoles = updatedRoles.filter((role) => role !== roleId);
} else {
Expand All @@ -494,8 +511,8 @@ function UserAddModify() {
...prevUserDataPost,
selectedRoles: updatedRoles,
}));
setUserData((prevUserData) => ({
...prevUserData,
setUserDataShow((prevUserDataPost) => ({
...prevUserDataPost,
selectedRoles: updatedRoles,
}));
setSaveButton(false);
Expand Down Expand Up @@ -531,8 +548,6 @@ function UserAddModify() {
}

setSelectedTestSectionLabUnits(updatedTestSectionLabUnits);

setTestSectionsSelect(selectedValue);
setSaveButton(false);
}

Expand Down Expand Up @@ -591,25 +606,6 @@ function UserAddModify() {
}
};

useEffect(() => {
if (selectedTestSectionLabUnits) {
setUserDataPost((prevUserDataPost) => ({
...prevUserDataPost,
selectedTestSectionLabUnits: selectedTestSectionLabUnits,
}));

setUserDataShow((prevUserData) => ({
...prevUserData,
selectedTestSectionLabUnits: selectedTestSectionLabUnits,
}));

setUserData((prevUserData) => ({
...prevUserData,
selectedTestSectionLabUnits: selectedTestSectionLabUnits,
}));
}
}, [selectedTestSectionLabUnits]);

if (!isLoading) {
return (
<>
Expand Down Expand Up @@ -664,8 +660,8 @@ function UserAddModify() {
})}
required={true}
value={
userData && userData.userLoginName
? userData.userLoginName
userDataShow && userDataShow.userLoginName
? userDataShow.userLoginName
: ""
}
onChange={(e) => handleUserLoginNameChange(e)}
Expand Down Expand Up @@ -719,8 +715,8 @@ function UserAddModify() {
// invalid={errors.order && touched.order}
// invalidText={errors.order}
value={
userData && userData.userPassword
? userData.userPassword
userDataShow && userDataShow.userPassword
? userDataShow.userPassword
: ""
}
onChange={(e) => handleUserPasswordChange(e)}
Expand All @@ -747,8 +743,8 @@ function UserAddModify() {
// invalid={errors.order && touched.order}
// invalidText={errors.order}
value={
userData && userData.confirmPassword
? userData.confirmPassword
userDataShow && userDataShow.confirmPassword
? userDataShow.confirmPassword
: ""
}
onChange={(e) => handleConfirmPasswordChange(e)}
Expand Down Expand Up @@ -777,8 +773,8 @@ function UserAddModify() {
// invalid={errors.order && touched.order}
// invalidText={errors.order}
value={
userData && userData.userFirstName
? userData.userFirstName
userDataShow && userDataShow.userFirstName
? userDataShow.userFirstName
: ""
}
onChange={(e) => handleUserFirstNameChange(e)}
Expand All @@ -805,8 +801,8 @@ function UserAddModify() {
// invalid={errors.order && touched.order}
// invalidText={errors.order}
value={
userData && userData.userLastName
? userData.userLastName
userDataShow && userDataShow.userLastName
? userDataShow.userLastName
: ""
}
onChange={(e) => handleUserLastNameChange(e)}
Expand All @@ -833,8 +829,8 @@ function UserAddModify() {
// invalid={errors.order && touched.order}
// invalidText={errors.order}
value={
userData && userData.expirationDate
? userData.expirationDate
userDataShow && userDataShow.expirationDate
? userDataShow.expirationDate
: ""
}
onChange={(e) => handleExpirationDateChange(e)}
Expand All @@ -861,7 +857,9 @@ function UserAddModify() {
// invalid={errors.order && touched.order}
// invalidText={errors.order}
value={
userData && userData.timeout ? userData.timeout : ""
userDataShow && userDataShow.timeout
? userDataShow.timeout
: ""
}
onChange={(e) => handleTimeoutChange(e)}
/>
Expand Down Expand Up @@ -1063,7 +1061,7 @@ function UserAddModify() {
))
) : (
<Checkbox
id="no-options"
id="no-options-global-roles"
value=""
labelText="No options available"
/>
Expand Down Expand Up @@ -1121,7 +1119,7 @@ function UserAddModify() {
))
) : (
<SelectItem
key=""
key="no-option-test-section"
value=""
text="No options available"
/>
Expand Down Expand Up @@ -1201,7 +1199,7 @@ function UserAddModify() {
))
) : (
<Checkbox
id={`no-options-${key}`}
id="no-options-lab-units"
value=""
labelText="No options available"
/>
Expand Down

0 comments on commit af702ad

Please sign in to comment.