Kaynağa Gözat

TASKS 98A: datum_iso af op devbob, getest op 1200 events

- 1200/1200 schoon parseerbaar, tijdzone klopt tegen bestaand datum-veld
- output heeft geen seconden (granularity); zetInAgenda parseert dat gewoon
- restpunt: show_repeat_rule staat op 'show', bij productie op 'hide' zetten
- geen eindtijd (besluit Bob) -> action gebruikt start + 2 uur

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 10 saat önce
ebeveyn
işleme
332702dfef
1 değiştirilmiş dosya ile 27 ekleme ve 9 silme
  1. 27 9
      TASKS.md

+ 27 - 9
TASKS.md

@@ -32,7 +32,7 @@ oppakken.
 | **B1** | **App-icoon: PNG 1024×1024, transparant, beeldmerk op ±60 %** | 🔴 Blokkeert. Op een toestel staat nu "itgaanskrant.co" |
 | **G** | Google Play-checklist G0–G4 | Volledige checklist hieronder, afvinkbaar |
 | **66** | Crashlytics: Firebase-console nakijken + Crashtest-knop opruimen | App-kant is bewezen (rapport met status 200); alleen de console-check en het opruimen zijn nog van jou |
-| **98A** | ISO-datum toevoegen aan `flutterflow_events` (2 velden) | 🔴 Blokkeert taak 98 — zonder start/eindtijd is er geen agenda-item te maken |
+| **98A** | ISO-datum naar **productie** zetten (op devbob af + getest) | 🔴 Blokkeert taak 98; zet bij die ronde ook Repeat rule op *Hide* |
 | **P2-24 B** | Endpoint voor subcategorieën per `horcat`-tid | Blokkeert de tab-bewuste categoriedropdown; drie opties uitgewerkt bij P2-24 B |
 | **98B** | Calendar-permissietekst in App Settings → Permissions | Claude kan dit veld niet zetten (elke toetsaanslag wordt een plist-entry); 10 seconden werk voor jou |
 | **P1-17** | Engelse vertalingen, één ronde | 46 velden op de twee aanmaakpagina's + 3 losse |
@@ -164,7 +164,7 @@ Stappen:
    "Evenement". Geverifieerd op een verse export: **0 analyse-errors** tegen het
    echte pakket.
 5. ⏳ **Nog te doen — wacht op 98A**: knop op `EventCurrent`, argumenten binden
-   aan `datum_iso` / `datum_eind_iso`, plus `title`, `adres`+`plaats`, `body`.
+   aan `datum_iso` (geen eindtijd), plus `title`, `adres`+`plaats`, `body`.
    **Plek is al bepaald:** de datumregel is een `Row` met `Icons.calendar_month`
    + de datumtekst (`event_current_widget.dart` r.425-460) — de knop komt daar
    als derde kind naast, achter een Visibility-conditie op `$[0].datum_iso`
@@ -184,13 +184,31 @@ hetzelfde per-toetsaanslag-probleem als Claude's; zet de toggle dan weer uit
 (dat ruimt alles op) en meld het — dan is het een FlutterFlow-bug en moeten we
 de plist-regel anders regelen.
 
-### 🆕 98A · ISO-datum aan `flutterflow_events` · Eigenaar: Bob (Drupal)
-
-Zie de losse instructie in de sessie; twee velden op **display `services_1`**
-van de view `flutterflow_events`, labels exact `datum_iso` en `datum_eind_iso`,
-formaat `Y-m-d H:i:s` in Europe/Amsterdam (dus lokale tijd, net als wat de
-create-actie verstuurt). Daarna `cc all` **en** de Cloudflare-cache purgen —
-dit endpoint zit in de 5-minuten Cache Rule.
+### ✅ 98A · ISO-datum aan `flutterflow_events` — AF OP DEVBOB, klaar voor productie
+
+Bob heeft veld `field_date_1` toegevoegd met label **`datum_iso`**, formatter
+Date and time → *custom*, format `Y-m-d H:i:s`, Display *Start date only*.
+**Geen eindtijd** (Bob's besluit 2026-09-19) — de custom action maakt er
+start + 2 uur van.
+
+**Getest door Claude op devbob (2026-09-19), 1200 unieke events gescand:**
+1200 schoon parseerbaar, 0 leeg, 0 afwijkend; de tijd komt exact overeen met
+het bestaande `datum`-veld, dus de tijdzone klopt.
+- ⚠️ **Let op: de output heeft GEEN seconden** (`2026-09-19 09:00`), ondanks
+  `H:i:s` in het format — de Date-module strippt `s` omdat de granularity van
+  `field_date` geen seconden kent. **Geen probleem:** `DateTime.tryParse` in
+  `zetInAgenda` accepteert dat, en ook mét seconden en milliseconden
+  (alle vier getest). Een leeg veld én het oude `datum`-formaat worden netjes
+  geweigerd (`false`, geen crash).
+- ⚠️ **Restpuntje voor Bob:** het nieuwe veld staat op
+  `'show_repeat_rule' => 'show'`, het bestaande `datum`-veld op `'hide'`. Bij
+  een event mét herhaalregel plakt Date die tekst achter de waarde en is
+  `datum_iso` onparseerbaar (gevolg is mild: knop doet niets). Geen van de 1200
+  events heeft er nu een. **Zet 'm bij de productie-ronde op "Hide repeat
+  rule".**
+
+**Nog te doen: naar productie**, daarna `drush cc all` **én** de Cloudflare-cache
+purgen (dit endpoint zit in de 5-minuten Cache Rule).
 
 
 ### 🔧 Kleine open restpunten (app)