diff options
Diffstat (limited to 'src/mass-graduation.js')
| -rw-r--r-- | src/mass-graduation.js | 21 |
1 files changed, 15 insertions, 6 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), + ), ); } } |
