aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2026-10-15 19:33:53 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2026-10-15 19:33:53 +0200
commitf095f524b7e07f81363e524b48241d6215dd58e8 (patch)
tree8a026a889cab1aa26ad0b93d38e4b8b33825f9e3 /src
parent25d723f829cadb8de1763a9158e53c88fe082f87 (diff)
downloadbycs-sol-f095f524b7e07f81363e524b48241d6215dd58e8.tar.gz
bycs-sol-f095f524b7e07f81363e524b48241d6215dd58e8.zip
mass-graduation: prevent re-graduation of already graduated students
Diffstat (limited to 'src')
-rw-r--r--src/mass-graduation.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mass-graduation.js b/src/mass-graduation.js
index 7ff8f1d..047ec19 100644
--- a/src/mass-graduation.js
+++ b/src/mass-graduation.js
@@ -146,6 +146,7 @@ async function loadGroup() {
}
}
+const graduatedStudents = new Set();
function submitMassGraduation() {
const state = document.getElementById("submit-mass-graduation-state");
state.innerHTML = "";
@@ -158,8 +159,11 @@ function submitMassGraduation() {
const promises = [];
for (const li of document.querySelectorAll("li.group-member, li.group-mandatory-member")) {
const student = li.student;
+ if (graduatedStudents.has(student)) continue;
+
const mandatory = li.classList.contains("group-mandatory-member");
if (li.querySelector(".group-member-green").innerHTML === "X") {
+ graduatedStudents.add(student);
promises.push(
submitGraduationChange(
GraduationChange.newGreenPointChange(mandatory, "", name),
@@ -168,6 +172,7 @@ function submitMassGraduation() {
);
}
if (li.querySelector(".group-member-orange").innerHTML === "X") {
+ graduatedStudents.add(student);
promises.push(
submitGraduationChange(
GraduationChange.newOrangePointChange(mandatory, "", name),
@@ -176,6 +181,7 @@ function submitMassGraduation() {
);
}
if (li.querySelector(".group-member-red").innerHTML === "X") {
+ graduatedStudents.add(student);
promises.push(
submitGraduationChange(
GraduationChange.newRedPointChange(mandatory, "", name),