ENCOA-89, ENCOA-91, ENCOA-92, ENCOA-95

All changes related to permissions towards types of users
This commit is contained in:
Tiago Ribeiro
2024-08-22 12:27:15 +01:00
parent 22611121c6
commit 202632ff58
6 changed files with 126 additions and 102 deletions

View File

@@ -11,7 +11,7 @@ import {useEffect, useState} from "react";
import ReactDatePicker from "react-datepicker";
import {toast} from "react-toastify";
import ShortUniqueId from "short-unique-id";
import {checkAccess} from "@/utils/permissions";
import {checkAccess, getTypesOfUser} from "@/utils/permissions";
import {PermissionType} from "@/interfaces/permissions";
import usePermissions from "@/hooks/usePermissions";
@@ -28,15 +28,15 @@ const USER_TYPE_PERMISSIONS: {
},
agent: {
perm: "createCodeCountryManager",
list: [],
list: ["student", "teacher", "corporate", "mastercorporate"],
},
corporate: {
perm: "createCodeCorporate",
list: ["student", "teacher"],
list: ["student", "teacher", "corporate"],
},
mastercorporate: {
perm: undefined,
list: ["student", "teacher", "corporate"],
list: ["student", "teacher", "corporate", "mastercorporate"],
},
admin: {
perm: "createCodeAdmin",
@@ -103,7 +103,7 @@ export default function CodeGenerator({user}: {user: User}) {
{Object.keys(USER_TYPE_LABELS)
.filter((x) => {
const {list, perm} = USER_TYPE_PERMISSIONS[x as Type];
return checkAccess(user, list, permissions, perm);
return checkAccess(user, getTypesOfUser(list), permissions, perm);
})
.map((type) => (
<option key={type} value={type}>