diff --git a/backend/middleware/user.middleware.js b/backend/middleware/user.middleware.js index 4d419ab90..ac9c1c81d 100644 --- a/backend/middleware/user.middleware.js +++ b/backend/middleware/user.middleware.js @@ -15,7 +15,7 @@ function isAdminByEmail(req, res, next) { return res.sendStatus(400); } else { const role = user.accessLevel; - if (role === 'admin' || user.managedProjects.length > 0) { + if (role === 'admin' || role === 'superadmin' || user.managedProjects.length > 0) { next(); } else { next(res.sendStatus(401)); diff --git a/backend/routers/grantpermission.router.js b/backend/routers/grantpermission.router.js index afefa6f4f..65fda8334 100644 --- a/backend/routers/grantpermission.router.js +++ b/backend/routers/grantpermission.router.js @@ -73,7 +73,7 @@ router.post("/gitHub", async (req, res) => { const teamSlugs = [baseTeamSlug, managerTeamSlug]; - if (accessLevel === "admin") teamSlugs.push(adminTeamSlug); + if (accessLevel === "admin" || accessLevel === "superadmin") teamSlugs.push(adminTeamSlug); function createSlug(string) { let slug = string.toLowerCase(); diff --git a/client/src/components/Navbar.jsx b/client/src/components/Navbar.jsx index 68d39e454..19b124c13 100644 --- a/client/src/components/Navbar.jsx +++ b/client/src/components/Navbar.jsx @@ -59,7 +59,7 @@ const Navbar = (props) => { )} {/* Admin auth -> Displays 2 links -> 'Users' and 'Projects'. */} - {auth?.user?.accessLevel === 'admin' && ( + {(auth?.user?.accessLevel === 'admin' || auth?.user?.accessLevel === 'superadmin') && ( <> USERS diff --git a/client/src/components/ProjectForm.jsx b/client/src/components/ProjectForm.jsx index 15e417edb..10fe2fd10 100644 --- a/client/src/components/ProjectForm.jsx +++ b/client/src/components/ProjectForm.jsx @@ -234,7 +234,7 @@ export default function ProjectForm({ Project Management - {auth.user.accessLevel === 'admin' ? ( + {(auth.user.accessLevel === 'admin' || auth.user.accessLevel == 'superadmin' )? ( { const [fieldValue, setFieldValue] = useState(fieldData); const [editable, setEditable] = useState(false); diff --git a/client/src/components/manageProjects/selectProject.jsx b/client/src/components/manageProjects/selectProject.jsx index 1aad5b207..13ed926f6 100644 --- a/client/src/components/manageProjects/selectProject.jsx +++ b/client/src/components/manageProjects/selectProject.jsx @@ -9,7 +9,7 @@ const SelectProject = ({ projects, accessLevel, user }) => { // If access level is 'user' display user managed projects. const managedProjects = projects ?.filter((proj) => { - if (accessLevel === 'admin') { + if (accessLevel === 'admin' || accessLevel === 'superadmin') { return proj.projectStatus === 'Active'; } @@ -31,7 +31,7 @@ const SelectProject = ({ projects, accessLevel, user }) => {
Project Management
- {accessLevel === 'admin' && ( + {accessLevel === 'admin' || accessLevel === 'superadmin' && ( {' '}