v0.3.25-beta: hernoem rol naar systeemmanager
- roleSuper heet nu "Systeemmanager" (en: "System manager"); het beheertabblad en de stafgroep "Overkoepelend" heten nu "Systeem" - Alle overige teksten en commentaren met "overkoepelend beheerder" meegenomen; de interne rolcode "super" blijft ongewijzigd
This commit is contained in:
parent
86478ebaca
commit
6de569c892
4 changed files with 21 additions and 21 deletions
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
||||||
0.3.24-beta
|
0.3.25-beta
|
||||||
|
|
|
||||||
|
|
@ -314,7 +314,7 @@
|
||||||
return box;
|
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. */
|
Dit tabblad is waar een super zaken regelt die niet aan één school vastzitten. */
|
||||||
function renderScholenPanel(panel){
|
function renderScholenPanel(panel){
|
||||||
const bar = h("div","am-add");
|
const bar = h("div","am-add");
|
||||||
|
|
@ -340,7 +340,7 @@
|
||||||
bar.appendChild(add);
|
bar.appendChild(add);
|
||||||
panel.appendChild(bar);
|
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
|
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) */
|
(de lijst van bestaande supers blijft wel gewoon in Gebruikers staan) */
|
||||||
if(creatableRoles().includes("super")) panel.appendChild(addForm("super"));
|
if(creatableRoles().includes("super")) panel.appendChild(addForm("super"));
|
||||||
|
|
@ -662,7 +662,7 @@
|
||||||
panel.appendChild(list);
|
panel.appendChild(list);
|
||||||
|
|
||||||
/* staf-aanmaakformulieren - welke rollen deze gebruiker mag aanmaken (CREATABLE_ROLES).
|
/* 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). */
|
bij één school). */
|
||||||
if(schoolChosen){
|
if(schoolChosen){
|
||||||
["teacher","admin"].forEach(r=>{ if(creatable.includes(r)) panel.appendChild(addForm(r)); });
|
["teacher","admin"].forEach(r=>{ if(creatable.includes(r)) panel.appendChild(addForm(r)); });
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
/* version — shown until /api/version resolves (or if the fetch fails, e.g. offline).
|
/* 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. */
|
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(){
|
(function(){
|
||||||
const tag = document.getElementById("verTag");
|
const tag = document.getElementById("verTag");
|
||||||
tag.textContent = "v"+VERSION;
|
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.",
|
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.",
|
storedNote:"Je werk staat op de school-server en is op elk digibord beschikbaar.",
|
||||||
errLogin:"Onbekende naam of verkeerd wachtwoord.",
|
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:",
|
linkIntro:"Nieuw account? Activeer het met je koppelcode:",
|
||||||
linkBtn:"Account activeren", pwChange:"Wijzig", pwNewPh:"nieuw wachtwoord (min. 8, met cijfer)",
|
linkBtn:"Account activeren", pwChange:"Wijzig", pwNewPh:"nieuw wachtwoord (min. 8, met cijfer)",
|
||||||
pwConfirmPh:"herhaal wachtwoord", pwShow:"👁 Toon", pwHide:"🙈 Verberg",
|
pwConfirmPh:"herhaal wachtwoord", pwShow:"👁 Toon", pwHide:"🙈 Verberg",
|
||||||
errPwMatch:"Wachtwoorden komen niet overeen.",
|
errPwMatch:"Wachtwoorden komen niet overeen.",
|
||||||
codePh:"koppelcode", beheer:"Beheer",
|
codePh:"koppelcode", beheer:"Beheer",
|
||||||
roleSuper:"Overkoepelend beheerder", roleAdmin:"Schoolbeheerder",
|
roleSuper:"Systeemmanager", roleAdmin:"Schoolbeheerder",
|
||||||
roleTeacher:"Groepsleiding", rolePupil:"Leerling",
|
roleTeacher:"Groepsleiding", rolePupil:"Leerling",
|
||||||
pupilEmpty:"Je leerkracht heeft nog niets voor je klaargezet.",
|
pupilEmpty:"Je leerkracht heeft nog niets voor je klaargezet.",
|
||||||
pupilWatching:"meekijken",
|
pupilWatching:"meekijken",
|
||||||
amUsers:"Gebruikers", amClasses:"Klassen", amSchools:"Scholen", amOverarching:"Overkoepelend",
|
amUsers:"Gebruikers", amClasses:"Klassen", amSchools:"Scholen", amOverarching:"Systeem",
|
||||||
amPickSchoolHint:"Kies eerst een school bij het tabblad “Overkoepelend”.",
|
amPickSchoolHint:"Kies eerst een school bij het tabblad “Systeem”.",
|
||||||
amNewSchool:"+ School", amNewClass:"+ Klas", amNewTeacher:"+ Groepsleiding",
|
amNewSchool:"+ School", amNewClass:"+ Klas", amNewTeacher:"+ Groepsleiding",
|
||||||
amNewAdmin:"+ Schoolbeheerder", amNewSuper:"+ Overkoepelend beheerder",
|
amNewAdmin:"+ Schoolbeheerder", amNewSuper:"+ Systeemmanager",
|
||||||
amNewPupil:"+ Leerling", amUserPh:"gebruikersnaam…", amNamePh:"naam…",
|
amNewPupil:"+ Leerling", amUserPh:"gebruikersnaam…", amNamePh:"naam…",
|
||||||
amSearchPh:"🔎 zoek op naam…",
|
amSearchPh:"🔎 zoek op naam…",
|
||||||
amCode:"koppelcode", amNewCode:"nieuwe code", amPw:"wachtwoord",
|
amCode:"koppelcode", amNewCode:"nieuwe code", amPw:"wachtwoord",
|
||||||
amNoClass:"— geen klas —", amPending:"nog niet geactiveerd",
|
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:",
|
amCreated:"Aangemaakt! Geef deze koppelcode door:",
|
||||||
amPupilMade:"Leerling aangemaakt. Wachtwoord:",
|
amPupilMade:"Leerling aangemaakt. Wachtwoord:",
|
||||||
amPwHidden:"al gebruikt", amGenerate:"genereer wachtwoord",
|
amPwHidden:"al gebruikt", amGenerate:"genereer wachtwoord",
|
||||||
|
|
@ -344,19 +344,19 @@ const I18N = {
|
||||||
pwConfirmPh:"repeat password", pwShow:"👁 Show", pwHide:"🙈 Hide",
|
pwConfirmPh:"repeat password", pwShow:"👁 Show", pwHide:"🙈 Hide",
|
||||||
errPwMatch:"Passwords don't match.",
|
errPwMatch:"Passwords don't match.",
|
||||||
codePh:"link code", beheer:"Management",
|
codePh:"link code", beheer:"Management",
|
||||||
roleSuper:"Overarching administrator", roleAdmin:"School administrator",
|
roleSuper:"System manager", roleAdmin:"School administrator",
|
||||||
roleTeacher:"Group leader", rolePupil:"Pupil",
|
roleTeacher:"Group leader", rolePupil:"Pupil",
|
||||||
pupilEmpty:"Your teacher hasn't set up anything for you yet.",
|
pupilEmpty:"Your teacher hasn't set up anything for you yet.",
|
||||||
pupilWatching:"watching",
|
pupilWatching:"watching",
|
||||||
amUsers:"Users", amClasses:"Classes", amSchools:"Schools", amOverarching:"Overarching",
|
amUsers:"Users", amClasses:"Classes", amSchools:"Schools", amOverarching:"System",
|
||||||
amPickSchoolHint:"First pick a school in the “Overarching” tab.",
|
amPickSchoolHint:"First pick a school in the “System” tab.",
|
||||||
amNewSchool:"+ School", amNewClass:"+ Class", amNewTeacher:"+ Group leader",
|
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…",
|
amNewPupil:"+ Pupil", amUserPh:"username…", amNamePh:"name…",
|
||||||
amSearchPh:"🔎 search by name…",
|
amSearchPh:"🔎 search by name…",
|
||||||
amCode:"link code", amNewCode:"new code", amPw:"password",
|
amCode:"link code", amNewCode:"new code", amPw:"password",
|
||||||
amNoClass:"— no class —", amPending:"not yet activated",
|
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:",
|
amCreated:"Created! Pass on this link code:",
|
||||||
amPupilMade:"Pupil created. Password:",
|
amPupilMade:"Pupil created. Password:",
|
||||||
amPwHidden:"already used", amGenerate:"generate 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)
|
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.
|
pupil (leerling). Zonder inloggen wordt niets bewaard.
|
||||||
==========================================================*/
|
==========================================================*/
|
||||||
// Oude bearer-tokens worden bewust verwijderd; sessies lopen via een HttpOnly-cookie.
|
// Oude bearer-tokens worden bewust verwijderd; sessies lopen via een HttpOnly-cookie.
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
// teach API: inloggen, rollen en gebruikersbeheer.
|
// teach API: inloggen, rollen en gebruikersbeheer.
|
||||||
//
|
//
|
||||||
// Rollen en rechten:
|
// Rollen en rechten:
|
||||||
// super - overkoepelend beheerder: alles, over alle scholen heen,
|
// super - systeemmanager: alles, over alle scholen heen,
|
||||||
// kan andere supers aanwijzen.
|
// kan andere systeemmanagers aanwijzen.
|
||||||
// admin - schoolbeheerder: alle gebruikers en klassen van de eigen school.
|
// admin - schoolbeheerder: alle gebruikers en klassen van de eigen school.
|
||||||
// teacher - groepsleiding: leerlingen aanmaken in eigen klas, leerlingen
|
// teacher - groepsleiding: leerlingen aanmaken in eigen klas, leerlingen
|
||||||
// verplaatsen naar andere klassen (uitwisselen), leerling-
|
// 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
|
// 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) => {
|
app.post('/admin/schools/:id/reset-passwords', async (req, reply) => {
|
||||||
need(req, reply, PERMISSIONS['schools.resetPasswords']);
|
need(req, reply, PERMISSIONS['schools.resetPasswords']);
|
||||||
const schoolId = req.params.id;
|
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.
|
// 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.
|
// de groepsleiding, om per ongeluk een hele klas resetten te voorkomen.
|
||||||
app.post('/admin/classes/:id/reset-passwords', async (req, reply) => {
|
app.post('/admin/classes/:id/reset-passwords', async (req, reply) => {
|
||||||
need(req, reply, PERMISSIONS['classes.manage']);
|
need(req, reply, PERMISSIONS['classes.manage']);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue