aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mass-graduation.js21
-rw-r--r--src/mock.ts5
2 files changed, 17 insertions, 9 deletions
diff --git a/src/mass-graduation.js b/src/mass-graduation.js
index a761130..7da1c0f 100644
--- a/src/mass-graduation.js
+++ b/src/mass-graduation.js
@@ -31,7 +31,7 @@ function chooseMandatory(graduations) {
graduations.sort((g1, g2) => g1.mandatory - g2.mandatory);
// Get all graduations with smaller mandatory amount than the one with the highest amount
- const mandatoryCandidates = graduations.filter(
+ let mandatoryCandidates = graduations.filter(
(g) => g.mandatory < graduations[graduations.length - 1].mandatory,
);
let rest;
@@ -123,22 +123,31 @@ function submitMassGraduation() {
// TODO(muhq): await graduation promises
const promises = [];
- for (const li of document.querySelectorAll("li.group-member")) {
- const reason = li.querySelector(".group-member-point-reason").value;
+ for (const li of document.querySelectorAll("li.group-member, li.group-mandatory-member")) {
const student = li.student;
+ const mandatory = li.classList.contains("group-mandatory-member");
if (li.querySelector(".group-member-green").innerHTML === "X") {
promises.push(
- submitGraduationChange(student, GraduationChange.newGreenPointChange(reason, name)),
+ submitGraduationChange(
+ student.graduation,
+ GraduationChange.newGreenPointChange(mandatory, "", name),
+ ),
);
}
if (li.querySelector(".group-member-orange").innerHTML === "X") {
promises.push(
- submitGraduationChange(student, GraduationChange.newOrangePointChange(reason, name)),
+ submitGraduationChange(
+ student.graduation,
+ GraduationChange.newOrangePointChange(mandatory, "", name),
+ ),
);
}
if (li.querySelector(".group-member-red").innerHTML === "X") {
promises.push(
- submitGraduationChange(student, GraduationChange.newRedPointChange(reason, name)),
+ submitGraduationChange(
+ student.graduation,
+ GraduationChange.newRedPointChange(mandatory, "", name),
+ ),
);
}
}
diff --git a/src/mock.ts b/src/mock.ts
index 6b12217..df4424f 100644
--- a/src/mock.ts
+++ b/src/mock.ts
@@ -66,9 +66,8 @@ async function fetchGraduationMock(s: Student) {
return graduations.get(s);
}
-function submitGraduationChangeMock(s: Student, c: GraduationChange) {
- if (s.graduation === null) throw new Error("no graduation");
- s.graduation.addChange(c);
+function submitGraduationChangeMock(g: Graduation, c: GraduationChange) {
+ g.addChange(c);
}
export {