diff --git a/VERSION b/VERSION index f80d0c1..ab75c70 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.4.09-beta +0.4.10-beta diff --git a/public/js/admin.js b/public/js/admin.js index 91a19b3..5b6303e 100644 --- a/public/js/admin.js +++ b/public/js/admin.js @@ -266,9 +266,10 @@ try{ if(currentUser.role==="super"){ SCHOOLS = await api("/schools"); - /* eerste bezoek: kies meteen een concrete school i.p.v. het verwarrende - "alle scholen" (klassen en per-school-lijsten zijn dan direct gevuld) */ - if(selSchool == null) selSchool = SCHOOLS.length ? String(SCHOOLS[0].id) : ""; + /* eerste bezoek: standaard "alle scholen" (het scholenoverzicht) i.p.v. + meteen een school te kiezen - de systeemmanager beheert immers over + scholen heen; een specifieke school kiezen is een bewuste stap. */ + if(selSchool == null) selSchool = ""; } const q = currentUser.role==="super" && selSchool ? "?school="+selSchool : ""; USERS = (await api("/admin/users"+q)).users; @@ -1419,13 +1420,19 @@ leerkracht ziet dit blok dus helemaal niet. - Gebruikers: altijd. */ function renderSchoolPanel(panel){ - if(currentUser.role==="super"){ + /* de schoolkiezer erboven moet ook echt iets doen: "alle scholen" toont + het scholenoverzicht (aanmaken/hernoemen/verwijderen, hoort niet bij + één school), een gekozen school toont juist die school se klassen - + nooit allebei tegelijk, anders lijkt Scholen de kiezer te negeren. + Gebruikers hangt hier bewust niet van af: dat paneel schakelt zelf al + tussen een schooloverzicht en een school-specifieke weergave. */ + if(currentUser.role==="super" && !selSchool){ panel.appendChild(h("h3","am-h3", T("amSchools"))); const sub = h("div","am-section"); renderScholenPanel(sub); panel.appendChild(sub); } - if(can("classes.manage")){ + if(can("classes.manage") && (currentUser.role!=="super" || selSchool)){ panel.appendChild(h("h3","am-h3", T("amClasses"))); const sub = h("div","am-section"); renderKlassenPanel(sub); @@ -1441,9 +1448,9 @@ adminTab = tab; modal.querySelectorAll(".am-tabpanel").forEach(p=>{ p.style.display = p.dataset.panel===tab ? "block" : "none"; }); /* Opslag is school-onafhankelijk: daar is de schoolkiezer alleen maar - verwarrend, dus die verbergen we er. "school" toont 'm juist wél (het - Klassen/Gebruikers-deel daarbinnen hangt ervan af voor een - systeemmanager) - het Scholen-deel daarbinnen negeert selSchool toch al. */ + verwarrend, dus die verbergen we er. "school" toont 'm juist wél: de + kiezer bepaalt daarbinnen nu ook echt wat je ziet (Scholen bij "alle + scholen", Klassen bij een gekozen school - zie renderSchoolPanel). */ const sb = modal.querySelector(".am-schoolbar"); if(sb) sb.style.display = tab==="opslag" ? "none" : ""; } diff --git a/public/js/core.js b/public/js/core.js index 7365fd4..60081c8 100644 --- a/public/js/core.js +++ b/public/js/core.js @@ -2,7 +2,7 @@ "use strict"; /* version — shown until /api/version resolves (or if the fetch fails, e.g. offline). Kept in sync by hand with the VERSION file at the repo root on every release. */ -const VERSION = "0.4.09-beta"; +const VERSION = "0.4.10-beta"; (function(){ const tag = document.getElementById("verTag"); tag.textContent = "v"+VERSION;