Input
Add an absence
Choose periods
Output
Weekly cover overview
Publish
Google Sheet live update
Recommended: use a Google Sheet as the live document staff check. Paste a Google Apps Script web app URL here, then press update when the weekly overview is ready.
Google Sheet setup script
Create a Google Sheet, open Extensions → Apps Script, paste this script, deploy as a Web App, then paste the Web App URL above.
function doPost(e) {
const payload = JSON.parse(e.postData.contents);
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheetName = 'Week ' + payload.week;
let sheet = ss.getSheetByName(sheetName) || ss.insertSheet(sheetName);
sheet.clear();
const rows = [['Day','Period','Time','Absent teacher','Lesson','Cover','Cover note']];
payload.rows.forEach(r => rows.push([r.day, r.period, r.time, r.absentTeacher, r.lesson, r.coverName, r.coverNote]));
sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows);
sheet.getRange(1, 1, 1, rows[0].length).setFontWeight('bold');
sheet.autoResizeColumns(1, rows[0].length);
return ContentService.createTextOutput(JSON.stringify({ ok: true })).setMimeType(ContentService.MimeType.JSON);
}