Added initial support for "mastercorporate"

This commit is contained in:
Joao Ramos
2024-07-13 17:19:42 +01:00
parent 5cfd6d56a6
commit 5d46d7e453
20 changed files with 719 additions and 182 deletions

View File

@@ -24,8 +24,9 @@ const USER_TYPE_PERMISSIONS: {[key in Type]: Type[]} = {
teacher: [],
agent: [],
corporate: ["student", "teacher"],
admin: ["student", "teacher", "agent", "corporate", "admin"],
developer: ["student", "teacher", "agent", "corporate", "admin", "developer"],
mastercorporate: ["student", "teacher", "corporate"],
admin: ["student", "teacher", "agent", "corporate", "admin", "mastercorporate"],
developer: ["student", "teacher", "agent", "corporate", "admin", "developer", "mastercorporate"],
};
export default function BatchCodeGenerator({user}: {user: User}) {
@@ -200,7 +201,7 @@ export default function BatchCodeGenerator({user}: {user: User}) {
<Button onClick={openFilePicker} isLoading={isLoading} disabled={isLoading}>
{filesContent.length > 0 ? filesContent[0].name : "Choose a file"}
</Button>
{user && (user.type === "developer" || user.type === "admin" || user.type === "corporate") && (
{user && (["developer","admin","corporate", "mastercorporate"].includes(user.type)) && (
<>
<div className="-md:flex-row -md:items-center flex justify-between gap-2 md:flex-col 2xl:flex-row 2xl:items-center">
<label className="text-mti-gray-dim text-base font-normal">Expiry Date</label>

View File

@@ -17,8 +17,9 @@ const USER_TYPE_PERMISSIONS: {[key in Type]: Type[]} = {
teacher: [],
agent: [],
corporate: ["student", "teacher"],
admin: ["student", "teacher", "agent", "corporate", "admin"],
developer: ["student", "teacher", "agent", "corporate", "admin", "developer"],
mastercorporate: ["student", "teacher", "corporate"],
admin: ["student", "teacher", "agent", "corporate", "admin", "mastercorporate"],
developer: ["student", "teacher", "agent", "corporate", "admin", "developer","mastercorporate"],
};
export default function CodeGenerator({user}: {user: User}) {

View File

@@ -86,7 +86,7 @@ const CreatePanel = ({user, users, group, onClose}: CreateDialogProps) => {
const emailUsers = [...new Set(emails)].map((x) => users.find((y) => y.email.toLowerCase() === x)).filter((x) => x !== undefined);
const filteredUsers = emailUsers.filter(
(x) =>
((user.type === "developer" || user.type === "admin" || user.type === "corporate") &&
((user.type === "developer" || user.type === "admin" || user.type === "corporate" || user.type === "mastercorporate") &&
(x?.type === "student" || x?.type === "teacher")) ||
(user.type === "teacher" && x?.type === "student"),
);
@@ -197,10 +197,10 @@ export default function GroupList({user}: {user: User}) {
const [filterByUser, setFilterByUser] = useState(false);
const {users} = useUsers();
const {groups, reload} = useGroups(user && filterTypes.includes(user?.type) ? user.id : undefined);
const {groups, reload} = useGroups(user && filterTypes.includes(user?.type) ? user.id : undefined, user?.type);
useEffect(() => {
if (user && (user.type === "corporate" || user.type === "teacher")) {
if (user && (['corporate', 'teacher', 'mastercorporate'].includes(user.type))) {
setFilterByUser(true);
}
}, [user]);

View File

@@ -92,7 +92,7 @@ export default function UserList({
const { users, reload } = useUsers();
const { groups } = useGroups(
user && (user?.type === "corporate" || user?.type === "teacher")
user && (['corporate', 'teacher', 'mastercorporate'].includes(user?.type))
? user.id
: undefined
);
@@ -403,7 +403,7 @@ export default function UserList({
}),
columnHelper.accessor(
(x) =>
x.type === "corporate"
x.type === "corporate" || x.type === "mastercorporate"
? x.demographicInformation?.position
: x.demographicInformation?.employment,
{
@@ -706,11 +706,11 @@ export default function UserList({
if (sorter === "employment" || sorter === reverseString("employment")) {
const aSortingItem =
a.type === "corporate"
a.type === "corporate" || a.type === "mastercorporate"
? a.demographicInformation?.position
: a.demographicInformation?.employment;
const bSortingItem =
b.type === "corporate"
b.type === "corporate" || b.type === "mastercorporate"
? b.demographicInformation?.position
: b.demographicInformation?.employment;