Ga naar inhoud

Handleiding beheerder

Beheerders werken niet in de planning tool zelf, maar in Directus — het beheerpaneel op https://admin-cpt.instance.blue. Log in met je beheerdersaccount.

Collectie Wat erin staat
coc_regions De eigen regio-indeling van de organisatie
regions De regio’s van het schoolsysteem, elk gekoppeld aan één CoC-regio
schools Scholen met adresgegevens, elk in één regio
school_requests Door docenten aangedragen scholen die nog goedgekeurd moeten worden
requests De aanvragen van docenten
request_dates De datums en periodes bij een aanvraag
volunteer_registrations Inschrijvingen van vrijwilligers op aanvragen
directus_users Coördinatoren en vrijwilligers

De collecties in Directus, met de lijst CoC-regio’s

Dit is het fundament van de rechtenstructuur. Alles wat een gebruiker ziet, loopt via deze koppeling:

gebruiker → coc_region → regions → schools/requests
  1. Open coc_regions en klik op Create Item.
  2. Vul de name in (bijvoorbeeld Deventer en omstreken).
  3. Koppel bij regions de schoolregio’s die eronder vallen, met Add Existing.

Een CoC-regio met drie gekoppelde schoolregio’s

Open het item in regions en zet het veld coc_regions onderaan op de juiste CoC-regio. Het veld toont het id van de CoC-regio.

Een regio met het veld Coc Regions onderaan

Dit kan van twee kanten: koppelen vanuit de regio, of vanuit de CoC-regio met Add Existing. Het resultaat is hetzelfde.

Elke gebruiker heeft twee dingen nodig:

  1. Een rol: Coordinator of Volunteer.
  2. Een coc_region: de CoC-regio waarvoor hij of zij werkt.

Beide staan onder Admin Options op de gebruikerspagina.

De velden Status, Role en Coc Region op een gebruiker

Ontbreekt de CoC-regio, dan krijgt de gebruiker bij het inloggen de melding “Geen regio gekoppeld aan uw account”.

  1. Open User DirectoryCreate User.
  2. Vul naam, e-mailadres en wachtwoord in.
  3. Zet Role op Coordinator.
  4. Zet coc_region op de juiste CoC-regio.
  5. Zet Status op Active.

De gebruikerspagina met naam, e-mailadres en rolbadge

Vrijwilligers maken zichzelf aan via https://coc-planning-tool.instance.blue/aanmelden en krijgen status Invited. Een coördinator keurt ze goed in de planning tool, waarna de status Active wordt. Je kunt dat als beheerder ook direct in Directus doen.

Docenten kunnen een ontbrekende school aandragen. Die komt in school_requests met status pending.

Zet de status op approved — een flow maakt de school dan automatisch aan in schools. Bij rejected gebeurt er niets.

In Settings → Flows staan:

Flow Wat het doet
School Request Approved Maakt een school aan zodra een schoolaanvraag wordt goedgekeurd
Request School Update Werkt het regioveld bij als de school van een aanvraag wijzigt

Daarnaast bestaat er een flow die de aanvraag-e-mail verstuurt. Die wordt vanuit de app aangeroepen met de knop Opnieuw uitsturen; het id van die flow staat in de omgevingsvariabele DIRECTUS_RESEND_FLOW_ID.

De rechten zijn per policy vastgelegd:

Policy Bereik
Coordinator Leest en wijzigt aanvragen, datums en inschrijvingen binnen de eigen CoC-regio
Volunteer Leest openstaande aanvragen binnen de eigen CoC-regio en beheert de eigen inschrijvingen
API Het token dat de app gebruikt voor publieke handelingen: scholen zoeken, een aanvraag indienen, een vrijwilliger aanmelden

De policies onder Settings → Access Policies

De filters lopen via de CoC-regio van de ingelogde gebruiker, bijvoorbeeld:

{ "region": { "coc_regions": { "_eq": "$CURRENT_USER.coc_region" } } }

Deze commando’s draai je vanuit de projectmap:

Terminal window
ddev directus-snapshot # Schema → directus/snapshot.yaml
ddev directus-flows-dump <email> <wachtwoord> # Flows → directus/flows.json
ddev directus-roles-dump <email> <wachtwoord> # Rechten → directus/roles.json
ddev directus-dump <email> <wachtwoord> # Alles in één keer
ddev directus-roles-restore <url> <token> # Rechten terugzetten op een instantie
ddev directus-typegen # TypeScript-types → src/lib/directus-types.ts

Na een schemawijziging draai je zowel ddev directus-snapshot als ddev directus-typegen, zodat de code en het schema gelijk blijven lopen.

Een coördinator ziet geen aanvragen. Controleer in deze volgorde: heeft de gebruiker een coc_region; hebben de regio’s een coc_regions; horen de aanvragen bij een school in zo’n regio.

De aanmeldpagina voor vrijwilligers geeft een serverfout. Dan mag het API-token de collectie coc_regions niet lezen. Controleer de leesrechten van de policy API.

Een vrijwilliger kan niet inloggen. Kijk of de status Active is en niet Invited — dan wacht het account nog op goedkeuring.