Week 6 – Vrijwilligers

Mijn week begon maandag waarmee ik de week vooraf geëindigd was: de Verenigingen-functionaliteit. In de voormiddag werkte ik de afhandeling van het formulier voor een nieuwe vereniging af, waarna ik gestart ben aan de Vrijwilligers-functionaliteit. De back-end code die ik enkele weken geleden schreef, heb ik uitgebreid en aangepast naar mijn ‘nieuwe’ manier van werken. Ik heb de basis van de JavaScript-code uitgewerkt en ben dan begonnen met het formulier voor het aanmaken van een nieuwe vrijwilliger.

Dinsdag werkte ik verder aan het formulier en de afhandeling hiervan, maar dit leverde een nieuw probleem op. In principe dient een vrijwilliger een hele dag beschikbaar te zijn als hij wil komen werken. Soms gebeurt het dat een vrijwilliger toch enkele uren niet kan, dan kan samen met de beheerder bekeken worden of dit opgevangen kan worden. Enkel de beheerder kan dus een uitzondering op de beschikbaarheid ingeven wanneer hij een vrijwilliger wil aanmaken of wijzigen. In Symfony kan men formulieren toevoegen aan andere formulieren: embedded forms. Dus wanneer de beheerder een of meerdere uitzonderingen wil toevoegen, wordt er eigenlijk per uitzondering een formulier toegevoegd aan het formulier voor de vrijwilliger aan te maken of te wijzigen.

Wanneer een formulier verzonden wordt, wordt mijn data eerst omgezet naar JSON. In de controller wordt de JSON-string dan opnieuw omgezet naar het formaat voor mijn Symfony Form. Bij eenvoudige formulieren werkt dit perfect, maar uiteraard leverde dit problemen op bij mijn embedded formulier. Ik heb het probleem aangekaart bij Wim, die even tijd vrijgemaakt had om mijn JavaScript-code te overlopen, en kwam dankzij hem tot de beste oplossing: gewoon de data op de normale manier doorsturen in plaats van dit eerst om te zetten naar JSON. Het werken met API-endpoints die alles in JSON doorsturen, biedt in dit project eigenlijk weinig meerwaarde en zorgt enkel voor moeilijkere situaties. Ik zal deze stap in de rest van het project dus overslaan en ook de afgewerkte functionaliteiten aanpassen.

Verder hield ik me dinsdagnamiddag en woensdag bezig met mijn eigen Form Theme te schrijven, zodat alle velden in elk formulier het juiste design krijgen en de validatie ook correct wordt getoond. Voorlopig zijn de basiselementen (input, textarea, select) zo goed als klaar en heb ik weer wat extra kennis opgedaan. Zo kan ik de komende weken gemakkelijk en snel extra zaken toevoegen, zoals het uitzicht van een datum- of tijd-veld.

Donderdag en vrijdag werkte ik aan het detailoverzicht op de Vrijwilligers-pagina en zorgde ik ervoor dat de vrijwilligers van lijst veranderd kunnen worden.

Reactie plaatsen

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

*