Marijn 281462fab8 Added Gedmo stuff, fix translations (#117)
* Added Gedmo stuff, fix translations

* Add CSRF token validation across backoffice forms

- Added CSRF validations to candidate correction, penalty, answer saving, and elimination forms.
- Updated corresponding Twig templates to include CSRF token inputs.
- Adjusted column count in `tab_result` template to maintain layout consistency.

* Add unique index constraint for `quiz_candidate` with soft delete support

- Updated migration to include a unique index on `quiz_candidate` table that excludes soft-deleted records.
- Adjusted `QuizCandidate` entity to reflect the new unique constraint with `deleted_at` condition.

* Add CSRF token validation for quiz-related actions

- Added CSRF validation to `enableQuiz`, `clearQuiz`, `deleteQuiz`, `toggleCandidate`, and `prepareElimination` actions.
- Updated Twig templates to replace links with POST forms to include CSRF tokens.
- Set HTTP method restrictions for related endpoints to `POST`.

* Fix unique index condition for `quiz_candidate` with soft deletes

- Updated condition in unique index definition of `quiz_candidate` to add parentheses for clarity.
- Adjusted related migration to reflect the revised condition.

* Remove if for post an use methods in Route instead

* Refactor CSRF token validation in backoffice controllers

- Applied `#[IsCsrfTokenValid]` attribute for CSRF checks to simplify and standardize validation.
- Removed manual `isCsrfTokenValid` calls and associated exception throwing.
- Updated method signatures across affected endpoints to remove unnecessary `Request` dependency.
- Ensured consistency in route HTTP method restrictions where applicable.

* Add rector and phpstan

* Add validation for answering incorrect quiz question

- Added logic to prevent candidates from answering questions out of sequence in `QuizController`.
- Updated Dutch translations to include the new error message.

* Things
2026-05-24 19:43:30 +02:00
2026-05-21 21:38:31 +02:00
2026-05-01 09:42:00 +00:00
2025-09-28 18:14:58 +02:00
2025-09-28 18:14:58 +02:00
2026-03-22 22:40:25 +01:00
2024-12-29 14:58:03 +01:00
2026-01-25 19:58:39 +01:00
2026-02-18 16:20:14 +01:00
WIP
2025-06-01 15:40:47 +02:00
2026-02-18 16:20:14 +01:00
2026-05-09 17:21:04 +02:00
2026-03-22 22:40:25 +01:00
2026-03-22 22:40:25 +01:00
2026-03-22 22:40:25 +01:00
2026-02-18 16:50:04 +01:00
2026-03-22 22:40:25 +01:00
2026-03-22 22:40:25 +01:00
2025-03-04 08:15:50 +01:00
2026-03-22 22:40:25 +01:00
2026-02-18 16:20:14 +01:00

Tijd voor de test

Requirements

Maken van de test

  • WIDM-tests met een variabel aantal vragen.
  • Vragen in een vaste volgorde zijn samen één test (een vraag kan niet bij meerdere tests horen).
  • Vragen hebben 2 of meer antwoordmogelijkheden. Slechts één antwoord is correct.
  • Meerdere test samen vormen een seizoen.
  • Een seizoen heeft één of geen actieve tests, als er een test actief is kan uitsluitend die test gemaakt worden.
  • Kandidaten kunnen een test maximaal 1 keer invullen.
  • Vanaf het moment dat de kandidaat op start klikt na het intypen van hun naam gaat de tijd lopen. Deze stopt na het aanklikken van een antwoord op de laatste vraag van de test.
  • Achtergrondmuziek

Schermen kijken

  • Nadat een speler een test heeft gemaakt (of vooraf als de namen vooraf ingevoerd zijn) kunnen jokers toegekend worden aan de test van kandidaat. Een positief getal om antwoorden goed te rekenen, een negatief getal om antwoorden fout te rekenen.
  • Vooraf kan gekozen worden hoe veel afvallers er zijn.
  • Bij het kijken naam rode en groene schermen wordt een naam ingevoerd. Er wordt een rood of groen scherm getoond.
  • Spelers kunnen geforceerd op groen of rood gezet worden, deze worden dan niet meegenomen in de berekening van de slechtste speler.

Statistieken

TBD

Nice to haves

  • Optie voor antwoord geven in twee klikken (selecteren en volgende).
S
Description
No description provided
Readme AGPL-3.0 19 MiB
Languages
PHP 79%
Twig 13.3%
Shell 3.2%
JavaScript 1.8%
Dockerfile 1.1%
Other 1.6%