aboutsummaryrefslogtreecommitdiff
path: root/src/graduation-common.ts
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2026-09-03 20:58:48 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2026-09-03 20:58:48 +0200
commitfd40558a7eadfc016197fec782d9a3b2a3f84825 (patch)
tree0dfba044af7411ed619ccd5b98e2139e0e52b594 /src/graduation-common.ts
parentd24e29dbff5a3daeb8df5685913406fde8a3fb69 (diff)
downloadbycs-sol-fd40558a7eadfc016197fec782d9a3b2a3f84825.tar.gz
bycs-sol-fd40558a7eadfc016197fec782d9a3b2a3f84825.zip
admin-tools: remove obsolete button and add coach assignment import
Diffstat (limited to 'src/graduation-common.ts')
-rw-r--r--src/graduation-common.ts17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/graduation-common.ts b/src/graduation-common.ts
index ca4efde..3c90e34 100644
--- a/src/graduation-common.ts
+++ b/src/graduation-common.ts
@@ -16,7 +16,7 @@ const LEVEL_IMAGES = [
];
interface CoachMapping {
- [studentId: number]: string;
+ [studentId: number]: Array<string>;
}
class GraduationChange {
@@ -115,7 +115,7 @@ class GraduationChange {
class Graduation {
student: Student;
- coach: string = "";
+ coaches: Array<string> = [];
green: number = 0;
orange: number = 0;
red: number = 0;
@@ -168,7 +168,7 @@ class Graduation {
case "CoachZuweisung":
// Reset the effective marks
if (this.student.id in change.context.zuweisungen)
- this.coach = change.context.zuweisungen[this.student.id];
+ this.coaches = change.context.zuweisungen[this.student.id];
break;
default:
@@ -185,7 +185,7 @@ class Graduation {
removeChange(change: GraduationChange) {
let changes: Array<GraduationChange> = this.changes;
// Reset the graduation
- this.coach = "";
+ this.coaches = [];
this.green = 0;
this.orange = 0;
this.red = 0;
@@ -222,16 +222,17 @@ class Graduation {
}
}
-async function submitGraduationChange(graduation: Graduation, change: GraduationChange) {
- graduation.addChange(change);
+async function submitGraduationChange(change: GraduationChange, graduation?: Graduation) {
+ if (typeof graduation !== "undefined") graduation.addChange(change);
+
const db = await getGraduationDb();
- return db.saveEntry(JSON.stringify(change.dbFields()));
+ return await db.saveEntry(JSON.stringify(change.dbFields()));
}
async function deleteGraduationChange(graduation: Graduation, change: GraduationChange) {
graduation.removeChange(change);
const db = await getGraduationDb();
- return db.deleteEntries([change.changeId]);
+ return await db.deleteEntries([change.changeId]);
}
export {