diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2026-09-03 20:58:48 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2026-09-03 20:58:48 +0200 |
| commit | fd40558a7eadfc016197fec782d9a3b2a3f84825 (patch) | |
| tree | 0dfba044af7411ed619ccd5b98e2139e0e52b594 /src/graduation-common.ts | |
| parent | d24e29dbff5a3daeb8df5685913406fde8a3fb69 (diff) | |
| download | bycs-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.ts | 17 |
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 { |
