ENCOA-217: Adapted the invite system to now work based on Entities instead of Users/Groups

This commit is contained in:
Tiago Ribeiro
2024-11-05 10:40:33 +00:00
parent df41611093
commit e8b56485ee
10 changed files with 63 additions and 102 deletions

View File

@@ -43,21 +43,22 @@ export const getServerSideProps = withIronSessionSsr(async ({ req, res }) => {
const permissions = await getUserPermissions(user.id);
const entities = isAdmin(user) ? await getEntitiesWithRoles() : await getEntitiesWithRoles(mapBy(user.entities, 'id'))
const allUsers = await getUsers()
return {
props: serialize({ user, permissions, entities }),
props: serialize({ user, permissions, entities, allUsers }),
};
}, sessionOptions);
interface Props {
user: User;
permissions: PermissionType[];
entities: EntityWithRoles[]
entities: EntityWithRoles[];
allUsers: User[]
}
export default function Admin({ user, entities, permissions }: Props) {
export default function Admin({ user, entities, permissions, allUsers }: Props) {
const { gradingSystem, mutate } = useGradingSystem();
const { users } = useUsers();
const [modalOpen, setModalOpen] = useState<string>();
@@ -75,16 +76,16 @@ export default function Admin({ user, entities, permissions }: Props) {
<ToastContainer />
<Layout user={user} className="gap-6">
<Modal isOpen={modalOpen === "batchCreateUser"} onClose={() => setModalOpen(undefined)}>
<BatchCreateUser user={user} entities={entities} users={users} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
<BatchCreateUser user={user} entities={entities} users={allUsers} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
</Modal>
<Modal isOpen={modalOpen === "batchCreateCode"} onClose={() => setModalOpen(undefined)}>
<BatchCodeGenerator user={user} users={users} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
<BatchCodeGenerator user={user} users={allUsers} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
</Modal>
<Modal isOpen={modalOpen === "createCode"} onClose={() => setModalOpen(undefined)}>
<CodeGenerator user={user} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
</Modal>
<Modal isOpen={modalOpen === "createUser"} onClose={() => setModalOpen(undefined)}>
<UserCreator user={user} entities={entities} users={users} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
<UserCreator user={user} entities={entities} users={allUsers} permissions={permissions} onFinish={() => setModalOpen(undefined)} />
</Modal>
<Modal isOpen={modalOpen === "gradingSystem"} onClose={() => setModalOpen(undefined)}>
<CorporateGradingSystem