ENCOA-220: Assignment exams were being merged

This commit is contained in:
Tiago Ribeiro
2024-11-05 11:43:49 +00:00
parent e8b56485ee
commit f686985c6e

View File

@@ -14,7 +14,7 @@ import {Assignment} from "@/interfaces/results";
import {Stat, User} from "@/interfaces/user"; import {Stat, User} from "@/interfaces/user";
import {sessionOptions} from "@/lib/session"; import {sessionOptions} from "@/lib/session";
import useExamStore from "@/stores/examStore"; import useExamStore from "@/stores/examStore";
import {mapBy, redirect, serialize} from "@/utils"; import {findBy, mapBy, redirect, serialize} from "@/utils";
import { requestUser } from "@/utils/api"; import { requestUser } from "@/utils/api";
import {activeAssignmentFilter} from "@/utils/assignments"; import {activeAssignmentFilter} from "@/utils/assignments";
import {getAssignmentsByAssignee} from "@/utils/assignments.be"; import {getAssignmentsByAssignee} from "@/utils/assignments.be";
@@ -88,16 +88,16 @@ export default function Dashboard({user, entities, assignments, stats, invites,
const setAssignment = useExamStore((state) => state.setAssignment); const setAssignment = useExamStore((state) => state.setAssignment);
const startAssignment = (assignment: Assignment) => { const startAssignment = (assignment: Assignment) => {
if (exams.every((x) => !!x)) { const assignmentExams = exams.filter(e => {
const exam = findBy(assignment.exams, 'id', e.id)
return !!exam && exam.module === e.module
})
if (assignmentExams.every((x) => !!x)) {
setUserSolutions([]); setUserSolutions([]);
setShowSolutions(false); setShowSolutions(false);
setExams(exams.map((x) => x!).sort(sortByModule)); setExams(assignmentExams.sort(sortByModule));
setSelectedModules( setSelectedModules(mapBy(assignmentExams.sort(sortByModule), 'module'));
exams
.map((x) => x!)
.sort(sortByModule)
.map((x) => x!.module),
);
setAssignment(assignment); setAssignment(assignment);
router.push("/exam"); router.push("/exam");