Accountformulieren (achter login)¶
Doel & URL's¶
Formulieren waarmee ingelogde gebruikers hun eigen gegevens beheren. De afscherming zit
niet op het formulier (requireLogin staat uit) maar op templateniveau:
template-account(/account/,/wachtwoord-wijzigen/) toont het formulier alleen bijis_user_logged_in(); anders verschijnt (met HTTP 200) de tekst "U moet ingelogd zijn om deze pagina te kunnen bekijken..".template-account-pastor(/predikant-gegevens/) geeft iedere bezoeker zónder rolpastor— ook anoniem én ook andere ingelogde rollen — een harde HTTP 403 (wp_die); zie Predikant-gegevens.
| Form | Naam | URL | Template |
|---|---|---|---|
| 18 | Account bijwerken | /account/ |
template-account |
| 24 | Predikant gegevens | /predikant-gegevens/ |
template-account-pastor |
| 25 | Wachtwoord wijzigen | /wachtwoord-wijzigen/ |
template-account |
Opbouw¶
De accountpagina's tonen een sidebar met accountnavigatie (zie Accountnavigatie voor de exacte logica):
- Waarheidsvriend digitaal (
/uitgaven/) — alleen voor rolwv-subscriber - Mijn account (
/account/) — rolwv-subscriberófpastor - Predikant gegevens (
/predikant-gegevens/) — alleen voor rolpastor - Wachtwoord wijzigen (
/wachtwoord-wijzigen/) — alle ingelogden - Uitloggen — alle ingelogden
Daarnaast het formulier uit het ACF-veld content_form.
Formulier 18 — Account bijwerken¶
Verzendknop "Wijzigingen opslaan". Velden worden vooringevuld met de huidige profielgegevens (User Registration update-feed).
Velden:
| Label | Type | Verplicht |
|---|---|---|
| Naam (voorvoegsel/voornaam/tussenvoegsel/achternaam) | name | ja |
| Adres (straat+nr, plaats, postcode) | address | ja |
| Telefoon | phone | ja |
| E-mailadres | ja |
Confirmations: standaard: doorsturen naar /account/; daarnaast een
message-confirmation "Uw account is bijgewerkt".
Notifications: geen.
Feeds: User Registration-feed #2 (type update): e-mail ← e-mailveld, voor-/
achternaam ← naamveld, displayname en rol blijven behouden; user meta
profile_city/address/zipcode/phone + user_title/user_suffix worden bijgewerkt.
Formulier 24 — Predikant gegevens¶
Voor gebruikers met rol pastor: beheer van de gegevens die in de predikantendatabase en
de exportlijsten verschijnen. Verzendknop "Versturen".
Velden:
| Label | Type | Verplicht | Bijzonderheden |
|---|---|---|---|
| Naam | name | nee | zichtbaarheid administrative (niet op het scherm) |
| Adres | address | nee | |
| Telefoon | phone | nee | |
| Mobiele telefoon | phone | nee | |
| E-mailadres | nee | ||
| Geboortedatum | date | nee | formaat dd-mm-jjjj |
| Functie | select | nee | Gemeentepredikant / Predikant met bijzondere opdracht / Emerituspredikant |
| Gemeenten | list | nee | kolommen Van / Tot / Plaatsnaam; rijen toevoegen via (+) |
| Downloadlijsten | checkbox (dynamisch veld 900) | nee | "Ik wil niet verschijnen in downloadlijsten" — door het thema toegevoegd bij render |
Custom gedrag (thema):
- Validatie van het list-veld Gemeenten: plaatsnaam verplicht per rij, datums in
d-m-Y; rijen worden bij opslaan gesorteerd op Van-datum enprofile_most_recent_from_datewordt berekend. - De keuze bij "Downloadlijsten" wordt opgeslagen als user meta
profile_export_optin('0' = niet tonen in exports, '1' = wel tonen).
Confirmation: bericht "Uw wijzigingen zijn opgeslagen."
Notifications: beheerdersmelding op event gfur_user_updated → info@gereformeerdebond.nl, onderwerp "Predikant gegevens bijgewerkt".
Feeds: User Registration-feed #7 (update): rol behouden; user meta profile_pastor_* en profile_history(_from/_to) uit het Gemeenten-veld.
Formulier 25 — Wachtwoord wijzigen¶
Velden: één veld "Wachtwoord wijzigen?" (password, met bevestigingsinput).
Confirmation: bericht "Uw wachtwoord is succesvol gewijzigd. Klik hier om in te loggen met uw nieuwe wachtwoord."
Notifications: beheerdersmelding → {admin_email}.
Feeds: User Registration-feed #9 (update): alleen het wachtwoord; displayname en rol behouden.
Gedrag & rollen¶
| Rol | /account/ |
/predikant-gegevens/ |
/wachtwoord-wijzigen/ |
|---|---|---|---|
| Anoniem | melding "U moet ingelogd zijn …" (HTTP 200) | HTTP 403 | melding "U moet ingelogd zijn …" (HTTP 200) |
Ingelogd zonder rol pastor |
formulier 18, vooringevuld | HTTP 403 | formulier 25 |
wv-subscriber |
+ sidebarlink "Uitgaven" | HTTP 403 | formulier 25 |
pastor |
+ sidebarlink "Predikant gegevens" | formulier 24 | formulier 25 |
Acceptatiecriteria¶
- Als anonieme bezoeker op
/account/of/wachtwoord-wijzigen/kom, dan zie ik geen formulier maar de melding dat ik ingelogd moet zijn (HTTP 200); op/predikant-gegevens/krijg ik HTTP 403. - Als ingelogde gebruiker op
/account/kom, dan is het formulier vooringevuld met mijn huidige naam, adres, telefoon en e-mailadres. - Als ingelogde gebruiker op
/account/mijn plaats wijzig en opsla, dan zie ik de bevestiging en zijn de gewijzigde gegevens bij een volgend bezoek vooringevuld (user meta bijgewerkt). - Als ingelogde gebruiker met rol
wv-subscriberop/account/, dan bevat de sidebar de link "Waarheidsvriend digitaal"; als gebruiker zonder die rol niet. - Als ingelogde gebruiker met rol
pastorop/account/, dan bevat de sidebar de link "Predikant gegevens"; als gebruiker zonder die rol niet. - Als pastor op
/predikant-gegevens/een rij aan het Gemeenten-veld toevoeg zonder plaatsnaam, dan volgt een validatiefout; met een ongeldige datum (nietd-m-Y) eveneens. - Als pastor meerdere Gemeenten-rijen invoer, dan staan ze na opslaan gesorteerd op Van-datum.
- Als pastor "Ik wil niet verschijnen in downloadlijsten" aanvink en opsla, dan verschijn ik niet meer in de predikanten-export (user meta
profile_export_optin= 0). - Als pastor het formulier opsla, dan verschijnt "Uw wijzigingen zijn opgeslagen." en ontvangt de beheerder de melding "Predikant gegevens bijgewerkt".
- Als ingelogde gebruiker op
/wachtwoord-wijzigen/een nieuw wachtwoord opsla, dan verschijnt de bevestiging en kan ik met het nieuwe wachtwoord opnieuw inloggen (en niet meer met het oude). - Als ingelogde gebruiker op de accountpagina's op "Uitloggen" klik, dan word ik uitgelogd en tonen de accountpagina's daarna weer de loginmelding.
Bekende afwijkingen¶
NIET nabouwen — wel vermelden in het testrapport
- Formulier 18 is óók geconfigureerd als CGC-paywall-formulier (
options_CGC_paywall_form_id= 18) en staat op een concept-pagina "Verzoek voor terugbetaling extra gift" — beide zijn misconfiguraties; formulier 18 hoort alleen op/account/. - De confirmation van formulier 25 zegt "Klik hier om in te loggen" terwijl de gebruiker al ingelogd is; de linktekst bevat geen daadwerkelijke link in de geïnventariseerde configuratie.
- De afscherming zit op templateniveau, niet op het formulier: een directe POST naar de GF-submission-endpoints van formulieren 18/24/25 is technisch mogelijk zonder login (de update-feed werkt dan overigens niet zonder ingelogde gebruiker). Bij de rebuild expliciet server-side afdwingen dat deze formulieren alleen door de ingelogde eigenaar te versturen zijn.