Added new permission types
This commit is contained in:
@@ -35,6 +35,7 @@ import { isAdmin } from "@/utils/users";
|
||||
import { getGradingSystemByEntities, getGradingSystemByEntity } from "@/utils/grading.be";
|
||||
import { Grading } from "@/interfaces";
|
||||
import { useRouter } from "next/router";
|
||||
import { useAllowedEntities } from "@/hooks/useEntityPermissions";
|
||||
|
||||
export const getServerSideProps = withIronSessionSsr(async ({ req, res }) => {
|
||||
const user = await requestUser(req, res)
|
||||
@@ -66,6 +67,11 @@ export default function Admin({ user, entities, permissions, allUsers, entitiesG
|
||||
const [modalOpen, setModalOpen] = useState<string>();
|
||||
const router = useRouter()
|
||||
|
||||
const entitiesAllowCreateUser = useAllowedEntities(user, entities, 'create_user')
|
||||
const entitiesAllowCreateUsers = useAllowedEntities(user, entities, 'create_user_batch')
|
||||
const entitiesAllowCreateCode = useAllowedEntities(user, entities, 'create_code')
|
||||
const entitiesAllowCreateCodes = useAllowedEntities(user, entities, 'create_code_batch')
|
||||
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
@@ -80,7 +86,12 @@ export default function Admin({ user, entities, permissions, allUsers, entitiesG
|
||||
<ToastContainer />
|
||||
<Layout user={user} className="gap-6">
|
||||
<Modal isOpen={modalOpen === "batchCreateUser"} onClose={() => setModalOpen(undefined)} maxWidth="max-w-[85%]">
|
||||
<BatchCreateUser user={user} entities={entities} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
|
||||
<BatchCreateUser
|
||||
user={user}
|
||||
entities={entitiesAllowCreateUser}
|
||||
permissions={permissions}
|
||||
onFinish={() => setModalOpen(undefined)}
|
||||
/>
|
||||
</Modal>
|
||||
<Modal isOpen={modalOpen === "batchCreateCode"} onClose={() => setModalOpen(undefined)}>
|
||||
<BatchCodeGenerator user={user} users={allUsers} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
|
||||
@@ -89,7 +100,13 @@ export default function Admin({ user, entities, permissions, allUsers, entitiesG
|
||||
<CodeGenerator user={user} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
|
||||
</Modal>
|
||||
<Modal isOpen={modalOpen === "createUser"} onClose={() => setModalOpen(undefined)}>
|
||||
<UserCreator user={user} entities={entities} users={allUsers} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
|
||||
<UserCreator
|
||||
user={user}
|
||||
entities={entitiesAllowCreateUsers}
|
||||
users={allUsers}
|
||||
permissions={permissions}
|
||||
onFinish={() => setModalOpen(undefined)}
|
||||
/>
|
||||
</Modal>
|
||||
<Modal isOpen={modalOpen === "gradingSystem"} onClose={() => setModalOpen(undefined)}>
|
||||
<CorporateGradingSystem
|
||||
@@ -110,6 +127,7 @@ export default function Admin({ user, entities, permissions, allUsers, entitiesG
|
||||
color="purple"
|
||||
className="w-full h-full"
|
||||
onClick={() => setModalOpen("createCode")}
|
||||
disabled={entitiesAllowCreateCode.length > 0}
|
||||
/>
|
||||
<IconCard
|
||||
Icon={BsCodeSquare}
|
||||
@@ -117,6 +135,7 @@ export default function Admin({ user, entities, permissions, allUsers, entitiesG
|
||||
color="purple"
|
||||
className="w-full h-full"
|
||||
onClick={() => setModalOpen("batchCreateCode")}
|
||||
disabled={entitiesAllowCreateCodes.length > 0}
|
||||
/>
|
||||
<IconCard
|
||||
Icon={BsPersonFill}
|
||||
@@ -124,6 +143,7 @@ export default function Admin({ user, entities, permissions, allUsers, entitiesG
|
||||
color="purple"
|
||||
className="w-full h-full"
|
||||
onClick={() => setModalOpen("createUser")}
|
||||
disabled={entitiesAllowCreateUser.length > 0}
|
||||
/>
|
||||
<IconCard
|
||||
Icon={BsPeopleFill}
|
||||
@@ -131,6 +151,7 @@ export default function Admin({ user, entities, permissions, allUsers, entitiesG
|
||||
color="purple"
|
||||
className="w-full h-full"
|
||||
onClick={() => setModalOpen("batchCreateUser")}
|
||||
disabled={entitiesAllowCreateUsers.length > 0}
|
||||
/>
|
||||
{checkAccess(user, ["admin", "corporate", "developer", "mastercorporate"]) && (
|
||||
<IconCard
|
||||
|
||||
Reference in New Issue
Block a user