diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2026-07-12 09:33:58 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2026-07-12 09:33:58 +0200 |
| commit | 1a291fb37fdf0e5a1b2a54825e5af7c5e986f00f (patch) | |
| tree | 3349f89ce4412b63c403411045185c80ba50a6bf /js/database.js | |
| parent | b39d7dd42c75b096aa88ffc07ae78f1445c8e588 (diff) | |
| download | bycs-sol-1a291fb37fdf0e5a1b2a54825e5af7c5e986f00f.tar.gz bycs-sol-1a291fb37fdf0e5a1b2a54825e5af7c5e986f00f.zip | |
implment observation period handling
Diffstat (limited to 'js/database.js')
| -rw-r--r-- | js/database.js | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/js/database.js b/js/database.js index 7fd3d47..73c2d17 100644 --- a/js/database.js +++ b/js/database.js @@ -29,7 +29,7 @@ async function populateStudentDbs() { const courseDoc = new DOMParser().parseFromString(await courseRes.text(), 'text/html'); let dbs = new Map(); - for (const link of courseDoc.querySelectorAll("div.activityname > a.aalink")) { + for (const link of courseDoc.querySelectorAll("div.activityname a.aalink")) { const match = link.textContent.match(/(\d+)(Shadow|Public|Submit)/); if (!match) continue; const studentId = match[1]; @@ -82,7 +82,13 @@ async function loadFromDatabaseActivity(id, params) { let entry = {}; row.querySelectorAll('.db-cell').forEach(field => { const key = field.dataset.key; - const value = field.innerText.trim(); + let value; + // Moodle includes the full date in the title attribute of the included span + if (key === "date") { + value = field.querySelector("span").title; + } else { + value = field.innerText.trim(); + } entry[key] = value; }); data.push(entry); |
