aboutsummaryrefslogtreecommitdiff
path: root/src/admin-tools.js
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2026-09-28 15:55:58 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2026-09-28 15:55:58 +0200
commit5267fd80deb6ab5cdfba117b4f20f75b9f91fcfd (patch)
treed7f9d0c620d31b293b96f2bdb1ef626111562105 /src/admin-tools.js
parent16668963d4dcc95ad281608dc3064677d8643404 (diff)
downloadbycs-sol-5267fd80deb6ab5cdfba117b4f20f75b9f91fcfd.tar.gz
bycs-sol-5267fd80deb6ab5cdfba117b4f20f75b9f91fcfd.zip
admin-tools: show update errors and skip missing activities
Diffstat (limited to 'src/admin-tools.js')
-rw-r--r--src/admin-tools.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/admin-tools.js b/src/admin-tools.js
index 9da744b..362d1b3 100644
--- a/src/admin-tools.js
+++ b/src/admin-tools.js
@@ -42,11 +42,17 @@ async function coachAssignmentImport() {
async function updateActivities(course) {
const promises = [];
for (const activityName of ["Cockpit", "Klassenliste", "Coaching", "Admin-Tools"]) {
- const activity = course.getActivity(activityName);
const input = document.getElementById(`${activityName.toLowerCase()}-file-input`);
if (input.value === "") continue;
+
+ const activity = await course.getActivity(activityName);
+ if (activity === null) {
+ output(course.title + ": Skipping non existing: " + activityName);
+ continue;
+ }
+
const text = input.files[0].text();
- promises.push((await activity).update(await text));
+ promises.push(activity.update(await text));
}
return Promise.all(promises);
}
@@ -64,7 +70,9 @@ export async function updateCourses() {
.then(() => {
output("Updating activities done.");
})
- .catch((_error) => {});
+ .catch((error) => {
+ output("Updating activities failed: " + error);
+ });
}
async function init() {