From 4fb2455779c5e32ea86306cf9fdac436ee1881fc Mon Sep 17 00:00:00 2001 From: frikky Date: Fri, 8 Apr 2022 02:28:16 +0200 Subject: [PATCH] Made it possible to change org without parent org available --- frontend/src/components/Header.js | 122 ++++++++++++++++++------------ frontend/src/views/Admin.jsx | 7 +- 2 files changed, 78 insertions(+), 51 deletions(-) diff --git a/frontend/src/components/Header.js b/frontend/src/components/Header.js index 938e9b22..97bd345b 100644 --- a/frontend/src/components/Header.js +++ b/frontend/src/components/Header.js @@ -670,57 +670,81 @@ const Header = (props) => { > {userdata.orgs.map((data, index) => { if ( - data.name === undefined || - data.name === null || - data.name.length === 0 - ) { - return null; - } + data.name === undefined || + data.name === null || + data.name.length === 0 + ) { + return null; + } - const imagesize = 22; - const imageStyle = { - width: imagesize, - height: imagesize, - pointerEvents: "none", - marginRight: 10, - marginLeft: - data.creator_org !== undefined && data.creator_org.length > 0 - ? 20 - : 0, - }; - const image = - data.image === "" ? ( - {data.name} - ) : ( - {data.name} - ); + const imagesize = 22 + console.log("Org: ", data) - return ( - - -
- {image} {data.name} -
-
-
- ); + //if (data.creator_org !== undefined && data.creator_org !== null && data.creator_org.length > 0 && data.fixed !== true) { + var skipOrg = false + if (data.creator_org !== undefined && data.creator_org !== null && data.creator_org.length > 0) { + // Finds the parent org + for (var key in userdata.child_orgs) { + if (data.child_orgs[key].id === data.creator_org) { + skipOrg = true + break + } + } + + if (skipOrg) { + return null + } + } + + // Reordering to have suborgs with access under original org + if (data.child_orgs !== undefined && data.child_orgs !== null) { + var cnt = 0 + for (var key in data.child_orgs) { + const childorg = data.child_orgs[key] + const foundIndex = userdata.orgs.findIndex(item => item.id === childorg.id) + if (foundIndex !== -1) { + const newindex = parseInt(index)+parseInt(cnt) + + var newitem = userdata.orgs[foundIndex] + newitem.fixed = true + userdata.orgs.splice(newindex+1, 0, newitem) + userdata.orgs.splice(foundIndex+1, 1) + } else { + console.log("ORG NOT FOUND IN LIST: ", childorg) + + } + + // This is stupid :) + cnt += 1 + } + } + + //console.log("ORG: ", data) + const imageStyle = { + width: imagesize, + height: imagesize, + pointerEvents: "none", + marginRight: 10, + marginLeft: data.creator_org !== undefined && data.creator_org !== null && data.creator_org.length > 0 ? 20 : 0, + } + + const parsedTitle = data.creator_org !== undefined && data.creator_org !== null && data.creator_org.length > 0 ? `Suborg of ${data.creator_org}` : "" + + const image = data.image === "" ? + {data.name} + : + {data.name} + + return ( + + + +
+ {image} {data.name} +
+
+
+ ) })} )} diff --git a/frontend/src/views/Admin.jsx b/frontend/src/views/Admin.jsx index 0bc5bf45..11315745 100644 --- a/frontend/src/views/Admin.jsx +++ b/frontend/src/views/Admin.jsx @@ -1800,9 +1800,12 @@ const Admin = (props) => { variant="outlined" color="primary" disabled={selectedUser.username === userdata.username} - onClick={() => deleteUser(selectedUser)} + onClick={() => { + deleteUser(selectedUser) + setSelectedUserModalOpen(false); + }} > - {selectedUser.active ? "Deactivate" : "Activate"} + {selectedUser.active ? "Delete from org" : "Delete from org"}