Verbeter grafische kwaliteit van kleurplaten (v0.4.67-beta) #5

Open
bes-r wants to merge 208 commits from bes-r/coloring-quality-v0.4.67 into main AGit
4 changed files with 21 additions and 21 deletions
Showing only changes of commit 6de569c892 - Show all commits

View file

@ -1 +1 @@
0.3.24-beta 0.3.25-beta

View file

@ -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)); });

View file

@ -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.

View file

@ -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']);