diff --git a/VERSION b/VERSION index c83b0f6..38f9045 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.3.24-beta +0.3.25-beta diff --git a/public/js/admin.js b/public/js/admin.js index df184d8..2b3fe89 100644 --- a/public/js/admin.js +++ b/public/js/admin.js @@ -314,7 +314,7 @@ return box; } - /* overkoepelend: schoolkiezer + nieuwe school + overkoepelend-beheerders beheren. + /* systeem: schoolkiezer + nieuwe school + systeemmanagers beheren. Dit tabblad is waar een super zaken regelt die niet aan één school vastzitten. */ function renderScholenPanel(panel){ const bar = h("div","am-add"); @@ -340,7 +340,7 @@ bar.appendChild(add); panel.appendChild(bar); - /* overkoepelend beheerders horen niet bij één school, dus het aanmaken ervan + /* systeemmanagers horen niet bij één school, dus het aanmaken ervan staat hier i.p.v. tussen de school-gebonden gebruikers in de Gebruikers-tab (de lijst van bestaande supers blijft wel gewoon in Gebruikers staan) */ if(creatableRoles().includes("super")) panel.appendChild(addForm("super")); @@ -662,7 +662,7 @@ panel.appendChild(list); /* staf-aanmaakformulieren - welke rollen deze gebruiker mag aanmaken (CREATABLE_ROLES). - "super" aanmaken staat in het Overkoepelend-tabblad, niet hier (die rol hoort niet + "super" aanmaken staat in het Systeem-tabblad, niet hier (die rol hoort niet bij één school). */ if(schoolChosen){ ["teacher","admin"].forEach(r=>{ if(creatable.includes(r)) panel.appendChild(addForm(r)); }); diff --git a/public/js/core.js b/public/js/core.js index 129b1d1..15805d9 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.3.24-beta"; +const VERSION = "0.3.25-beta"; (function(){ const tag = document.getElementById("verTag"); tag.textContent = "v"+VERSION; @@ -162,25 +162,25 @@ const I18N = { guestNote:"Zonder inloggen wordt niets bewaard. Log in met je schoolaccount om alles op de server te bewaren.", storedNote:"Je werk staat op de school-server en is op elk digibord beschikbaar.", errLogin:"Onbekende naam of verkeerd wachtwoord.", - schoolSel:"— kies je school (leeg = overkoepelend) —", + schoolSel:"— kies je school (leeg = systeem) —", linkIntro:"Nieuw account? Activeer het met je koppelcode:", linkBtn:"Account activeren", pwChange:"Wijzig", pwNewPh:"nieuw wachtwoord (min. 8, met cijfer)", pwConfirmPh:"herhaal wachtwoord", pwShow:"👁 Toon", pwHide:"🙈 Verberg", errPwMatch:"Wachtwoorden komen niet overeen.", codePh:"koppelcode", beheer:"Beheer", - roleSuper:"Overkoepelend beheerder", roleAdmin:"Schoolbeheerder", + roleSuper:"Systeemmanager", roleAdmin:"Schoolbeheerder", roleTeacher:"Groepsleiding", rolePupil:"Leerling", pupilEmpty:"Je leerkracht heeft nog niets voor je klaargezet.", pupilWatching:"meekijken", - amUsers:"Gebruikers", amClasses:"Klassen", amSchools:"Scholen", amOverarching:"Overkoepelend", - amPickSchoolHint:"Kies eerst een school bij het tabblad “Overkoepelend”.", + amUsers:"Gebruikers", amClasses:"Klassen", amSchools:"Scholen", amOverarching:"Systeem", + amPickSchoolHint:"Kies eerst een school bij het tabblad “Systeem”.", amNewSchool:"+ School", amNewClass:"+ Klas", amNewTeacher:"+ Groepsleiding", - amNewAdmin:"+ Schoolbeheerder", amNewSuper:"+ Overkoepelend beheerder", + amNewAdmin:"+ Schoolbeheerder", amNewSuper:"+ Systeemmanager", amNewPupil:"+ Leerling", amUserPh:"gebruikersnaam…", amNamePh:"naam…", amSearchPh:"🔎 zoek op naam…", amCode:"koppelcode", amNewCode:"nieuwe code", amPw:"wachtwoord", amNoClass:"— geen klas —", amPending:"nog niet geactiveerd", - amCouple:"koppel leerkracht", amAllSchools:"— alle scholen —", amSuperGroup:"Overkoepelend", + amCouple:"koppel leerkracht", amAllSchools:"— alle scholen —", amSuperGroup:"Systeem", amCreated:"Aangemaakt! Geef deze koppelcode door:", amPupilMade:"Leerling aangemaakt. Wachtwoord:", amPwHidden:"al gebruikt", amGenerate:"genereer wachtwoord", @@ -344,19 +344,19 @@ const I18N = { pwConfirmPh:"repeat password", pwShow:"👁 Show", pwHide:"🙈 Hide", errPwMatch:"Passwords don't match.", codePh:"link code", beheer:"Management", - roleSuper:"Overarching administrator", roleAdmin:"School administrator", + roleSuper:"System manager", roleAdmin:"School administrator", roleTeacher:"Group leader", rolePupil:"Pupil", pupilEmpty:"Your teacher hasn't set up anything for you yet.", pupilWatching:"watching", - amUsers:"Users", amClasses:"Classes", amSchools:"Schools", amOverarching:"Overarching", - amPickSchoolHint:"First pick a school in the “Overarching” tab.", + amUsers:"Users", amClasses:"Classes", amSchools:"Schools", amOverarching:"System", + amPickSchoolHint:"First pick a school in the “System” tab.", amNewSchool:"+ School", amNewClass:"+ Class", amNewTeacher:"+ Group leader", - amNewAdmin:"+ School admin", amNewSuper:"+ Overarching admin", + amNewAdmin:"+ School admin", amNewSuper:"+ System manager", amNewPupil:"+ Pupil", amUserPh:"username…", amNamePh:"name…", amSearchPh:"🔎 search by name…", amCode:"link code", amNewCode:"new code", amPw:"password", amNoClass:"— no class —", amPending:"not yet activated", - amCouple:"link teacher", amAllSchools:"— all schools —", amSuperGroup:"Overarching", + amCouple:"link teacher", amAllSchools:"— all schools —", amSuperGroup:"System", amCreated:"Created! Pass on this link code:", amPupilMade:"Pupil created. Password:", amPwHidden:"already used", amGenerate:"generate password", @@ -418,7 +418,7 @@ document.getElementById("btnFs").addEventListener("click", ()=>{ /* ========================================================= Accounts & sessies — via de server-API (src/api.js) - Rollen: super (overkoepelend), admin (school), teacher (groepsleiding), + Rollen: super (systeemmanager), admin (school), teacher (groepsleiding), pupil (leerling). Zonder inloggen wordt niets bewaard. ==========================================================*/ // Oude bearer-tokens worden bewust verwijderd; sessies lopen via een HttpOnly-cookie. diff --git a/src/api.js b/src/api.js index 67adb6f..cd826bb 100644 --- a/src/api.js +++ b/src/api.js @@ -1,8 +1,8 @@ // teach API: inloggen, rollen en gebruikersbeheer. // // Rollen en rechten: -// super - overkoepelend beheerder: alles, over alle scholen heen, -// kan andere supers aanwijzen. +// super - systeemmanager: alles, over alle scholen heen, +// kan andere systeemmanagers aanwijzen. // admin - schoolbeheerder: alle gebruikers en klassen van de eigen school. // teacher - groepsleiding: leerlingen aanmaken in eigen klas, leerlingen // verplaatsen naar andere klassen (uitwisselen), leerling- @@ -274,7 +274,7 @@ export default async function api(app) { }); // Multireset: alle leerlingwachtwoorden van een hele school in één keer - // vernieuwen. Alleen schoolbeheerder (eigen school) en overkoepelend beheerder. + // vernieuwen. Alleen schoolbeheerder (eigen school) en systeemmanager. app.post('/admin/schools/:id/reset-passwords', async (req, reply) => { need(req, reply, PERMISSIONS['schools.resetPasswords']); const schoolId = req.params.id; @@ -342,7 +342,7 @@ export default async function api(app) { }); // Multireset: alle leerlingwachtwoorden van één klas in één keer vernieuwen. - // Alleen schoolbeheerder (eigen school) en overkoepelend beheerder - niet + // Alleen schoolbeheerder (eigen school) en systeemmanager - niet // de groepsleiding, om per ongeluk een hele klas resetten te voorkomen. app.post('/admin/classes/:id/reset-passwords', async (req, reply) => { need(req, reply, PERMISSIONS['classes.manage']);