aboutsummaryrefslogtreecommitdiff
path: root/js/database.js
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2026-07-12 09:33:58 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2026-07-12 09:33:58 +0200
commit1a291fb37fdf0e5a1b2a54825e5af7c5e986f00f (patch)
tree3349f89ce4412b63c403411045185c80ba50a6bf /js/database.js
parentb39d7dd42c75b096aa88ffc07ae78f1445c8e588 (diff)
downloadbycs-sol-1a291fb37fdf0e5a1b2a54825e5af7c5e986f00f.tar.gz
bycs-sol-1a291fb37fdf0e5a1b2a54825e5af7c5e986f00f.zip
implment observation period handling
Diffstat (limited to 'js/database.js')
-rw-r--r--js/database.js10
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);