diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2026-09-27 18:47:54 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2026-09-27 18:47:54 +0200 |
| commit | 20c1c0782bae0a10d1774f919e6381b5df44d207 (patch) | |
| tree | cba8e340c1c4c2068fca8f747087582536c9a275 /src | |
| parent | 1f458004ee2a018cff176c9939a9e8b03425dbfa (diff) | |
| download | bycs-sol-20c1c0782bae0a10d1774f919e6381b5df44d207.tar.gz bycs-sol-20c1c0782bae0a10d1774f919e6381b5df44d207.zip | |
admin-tools: allow wildcard coach assignment
Diffstat (limited to 'src')
| -rw-r--r-- | src/admin-tools.js | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/admin-tools.js b/src/admin-tools.js index bcbbcbc..f598c35 100644 --- a/src/admin-tools.js +++ b/src/admin-tools.js @@ -1,5 +1,5 @@ import { GraduationChange, submitGraduationChange } from "./graduation-ENV.ts"; -import { fetchStudent } from "./student-ENV.ts"; +import { fetchStudent, fetchStudents } from "./student-ENV.ts"; let outputNode; function output(msg) { @@ -18,12 +18,19 @@ async function coachAssignmentImport() { for (const line of csv.split("\n")) { const [studentName, ...coaches] = line.trim().split(";"); - const student = await fetchStudent(undefined, studentName); - if (student === null) { - output(`${studentName} nicht gefunden`); - continue; + if (studentName === "*") { + const students = await fetchStudents(); + for (const student of students) { + assignments[student.id] = coaches; + } + } else { + const student = await fetchStudent(undefined, studentName); + if (student === null) { + output(`${studentName} nicht gefunden`); + continue; + } + assignments[student.id] = coaches; } - assignments[student.id] = coaches; } const assignmentChange = GraduationChange.newCoachAssignmentChange(assignments); |
