|
@@ -17,9 +17,9 @@ half af** — node 220276 geeft 404, alleen de dblog-telling staat nog open.
|
|
|
|
|
|
|
|
**Open, in volgorde:**
|
|
**Open, in volgorde:**
|
|
|
|
|
|
|
|
-1. **83 · nog één Drupal-restje** — ~~`node_delete(220276)`~~ (al weg, 404) en de dblog-telling
|
|
|
|
|
- (`SELECT type, severity, COUNT(*) FROM watchdog WHERE type LIKE 'custom%'
|
|
|
|
|
- GROUP BY type, severity;`). Plak de uitkomst, dan kijkt Claude mee.
|
|
|
|
|
|
|
+1. ~~**83 · twee Drupal-restjes**~~ — **AF 2026-09-18.** Node 220276 geeft 404, en
|
|
|
|
|
+ de dblog-telling gaf **nul rijen**: er staat geen enkele `custom%`-regel in
|
|
|
|
|
+ `watchdog`, dus er ligt geen backlog aan debug-logging (raakt ook P2-25).
|
|
|
2. ~~**84 · taak 82 naar productie**~~ — **AF**, nagemeten op productie 2026-09-18.
|
|
2. ~~**84 · taak 82 naar productie**~~ — **AF**, nagemeten op productie 2026-09-18.
|
|
|
3. **85 · account-verwijderen-knop** naar `/nl/support/mobieleapp` (besluit is
|
|
3. **85 · account-verwijderen-knop** naar `/nl/support/mobieleapp` (besluit is
|
|
|
genomen, zie het blok verderop). Claude kan dit ook zelf in de builder doen.
|
|
genomen, zie het blok verderop). Claude kan dit ook zelf in de builder doen.
|
|
@@ -32,6 +32,93 @@ half af** — node 220276 geeft 404, alleen de dblog-telling staat nog open.
|
|
|
dáár niet rechtstreeks naartoe linken vanuit de app).
|
|
dáár niet rechtstreeks naartoe linken vanuit de app).
|
|
|
6. **62 · "Account aanmaken"-route op de Login-pagina** (Claude, builder, klein).
|
|
6. **62 · "Account aanmaken"-route op de Login-pagina** (Claude, builder, klein).
|
|
|
7. **76 · linkerpadding op de horeca-agendakaart** (klein, eigenaar onbepaald).
|
|
7. **76 · linkerpadding op de horeca-agendakaart** (klein, eigenaar onbepaald).
|
|
|
|
|
+8. **88 · "Mijn aanmeldingen" + kloonknop** — nieuw 2026-09-18, zie het blok
|
|
|
|
|
+ hieronder. Deel A (Drupal) bij Bob, deel B (app) bij Claude.
|
|
|
|
|
+9. **P2-43 · Tab Bar Scrollable op `HorecagelegenheidCurrent`** (4 tabs: Info /
|
|
|
|
|
+ Links / Bezorgen / Agenda — "Bezorgen" kapt af) en **P2-44 · datum-icoon
|
|
|
|
|
+ zonder datum op `EventCurrent`** — allebei door Bob naar Claude geschoven
|
|
|
|
|
+ 2026-09-18.
|
|
|
|
|
+
|
|
|
|
|
+### 🆕 88 · "Mijn aanmeldingen" + kloonknop · Eigenaar: Bob (Drupal, deel A), Claude (app, deel B)
|
|
|
|
|
+
|
|
|
|
|
+Bob 2026-09-18: *"Ziet een horecagelegenheid-eigenaar of stadsrechten-eigenaar ook
|
|
|
|
|
+een overzicht van hun zelf aangemaakte dingen? En ik wil er een knop achter,
|
|
|
|
|
+klone, waardoor het formulier met de eerdere gegevens wordt gevuld."*
|
|
|
|
|
+
|
|
|
|
|
+**Antwoord op de eerste vraag: nee, dat bestaat nog niet.** Gemeten 2026-09-18 op
|
|
|
|
|
+de export: de enige "mijn"-endpoints zijn `mijn_horecagelegenheden.json` (vult de
|
|
|
|
|
+dropdown op `uitgaansevenementAanmaken`) en `mijn_stadsrechten.json`. Er is geen
|
|
|
|
|
+enkele call die teruggeeft *wat deze gebruiker heeft aangemaakt*. Na het indienen
|
|
|
|
|
+van een evenement verdwijnt het dus uit beeld: de gebruiker kan niet zien of het
|
|
|
|
|
+erop staat, niet of het al goedgekeurd is, en niets hergebruiken.
|
|
|
|
|
+
|
|
|
|
|
+**A · Drupal (Bob) — twee endpoints, allebei sessie-geauthenticeerd**
|
|
|
|
|
+
|
|
|
|
|
+- **A1 · `mijn_aanmeldingen.json`** (zelfde auth-patroon als
|
|
|
|
|
+ `mijn_horecagelegenheden.json`). Alle nodes van type `go_out_event` **en**
|
|
|
|
|
+ `activity` met `uid` = huidige gebruiker, nieuwste eerst. Per rij: `nid`,
|
|
|
|
|
+ `type`, `title`, `datum_start` (rauw `yyyy-MM-dd HH:mm:ss`), `status` (0/1),
|
|
|
|
|
+ `plaats`, `logo` (URL, voor een thumbnail).
|
|
|
|
|
+- **A2 · `aanmelding_kloonbron.json?nid=X`** — sessie-auth **plus een
|
|
|
|
|
+ eigenaarscheck** (`$node->uid == $user->uid`, anders 403; zonder die check kan
|
|
|
|
|
+ iemand andermans gegevens uitlezen). Levert de **rauwe** waarden, niet de
|
|
|
|
|
+ weergavewaarden: `horecagelegenheid_nid`, `titel`, `omschrijving` (rauwe body),
|
|
|
|
|
+ `entree_tid`, `entreeprijs`, `toelichting_entree`, `tickets_url`,
|
|
|
|
|
+ `website_url`, `categorie_tids` (lijst), `logo_fid`, `fotos_fids` (lijst).
|
|
|
|
|
+
|
|
|
|
|
+ *Waarom A2 een eigen endpoint moet zijn en `flutterflow_events.json` niet
|
|
|
|
|
+ volstaat — gemeten op nid 214439:* die view geeft `categorie` als **labels**
|
|
|
|
|
+ (`['Tweedehands markt']`) i.p.v. tids, `logo`/`fotos` als **URL's** i.p.v.
|
|
|
|
|
+ fids, `datum` als `zaterdag 19 sep, 9:00` (geen jaar, niet parseerbaar),
|
|
|
|
|
+ `website` verpakt in een `<a href=...>`-tag, en er zit **geen entree-tid** in.
|
|
|
|
|
+ Daar is geen formulier mee te vullen.
|
|
|
|
|
+
|
|
|
|
|
+ **Open vraag voor Bob:** mag een kloon dezelfde `fid`'s hergebruiken (dan moet
|
|
|
|
|
+ `file_usage_add()` meelopen voor de nieuwe node), of moet de gebruiker opnieuw
|
|
|
|
|
+ uploaden? Hergebruiken is voor de gebruiker veel prettiger — dat is juist de
|
|
|
|
|
+ helft van de winst van klonen.
|
|
|
|
|
+
|
|
|
|
|
+**B · App (Claude, builder)**
|
|
|
|
|
+
|
|
|
|
|
+- **B1 · Nieuwe pagina `MijnAanmeldingen`** met de standaard header + Drawer
|
|
|
|
|
+ (recept staat in `CLAUDE.md`), een `StaggeredView` over A1 met Cross Axis Count
|
|
|
|
|
+ 1/1/2/3 en een Empty List Widget. Per kaart: titel, datum, **statuslabel**
|
|
|
|
|
+ ("Gepubliceerd" bij `status: 1`, "Wacht op goedkeuring" bij `0`) en twee
|
|
|
|
|
+ knoppen: *Bekijken* (Navigate → `EventCurrent` met `nid`) en *Klonen*.
|
|
|
|
|
+- **B2 · Ingang:** Favorieten tab 4 (Gebruiker), waar *Uitgaansevenement
|
|
|
|
|
+ aanmaken* en *Stadsactiviteit aanmaken* al staan. Eén `ListTile` erbij,
|
|
|
|
|
+ **binnen** de bestaande `userSessionid`-login-guard. Dupliceer een bestaande
|
|
|
|
|
+ rij (Ctrl+D) — dat is hier het bewezen patroon, Insert Widget niet.
|
|
|
|
|
+- **B3 · Klonen.** De kloonknop haalt A2 op in zijn eigen actieketen (Backend
|
|
|
|
|
+ Call) en geeft de waarden mee als **page parameters** aan de Navigate To naar
|
|
|
|
|
+ `uitgaansevenementAanmaken`. **Niet** via een page state die je in On Page Load
|
|
|
|
|
+ vult: `Initial Option Value` van een dropdown wordt tijdens de eerste build
|
|
|
|
|
+ geëvalueerd en On Page Load draait pas in een `addPostFrameCallback` — dan is
|
|
|
|
|
+ de `FormFieldController` al met de lege waarde geïnitialiseerd (staat zo in
|
|
|
|
|
+ `CLAUDE.md`).
|
|
|
|
|
+
|
|
|
|
|
+ Nieuwe parameters op `uitgaansevenementAanmaken`, **allemaal niet-verplicht**
|
|
|
|
|
+ (een verplichte parameter genereert een `!` en laat de gewone "nieuw"-route
|
|
|
|
|
+ crashen): `kloonHorecaNid`, `kloonTitel`, `kloonOmschrijving`, `kloonEntreeTid`,
|
|
|
|
|
+ `kloonEntreeprijs`, `kloonToelichting`, `kloonTicketsUrl`, `kloonWebsiteUrl`
|
|
|
|
|
+ (String), `kloonCategorieTids` + `kloonFotosFids` (List<String>), `kloonLogoFid`.
|
|
|
|
|
+ Binden: elke `TextField` → *Initial Value*, elke dropdown → *Initial Option
|
|
|
|
|
+ Value*.
|
|
|
|
|
+
|
|
|
|
|
+**Bewust NIET klonen: de twee datumvelden.** Je kloont juist om hetzelfde
|
|
|
|
|
+evenement op een níeuwe datum te zetten, dus een overgenomen datum is per
|
|
|
|
|
+definitie fout en moet alsnog weg. Twee lege datumvelden zijn meteen ook de rem
|
|
|
|
|
+tegen per ongeluk twee keer exact dezelfde aanmelding publiceren.
|
|
|
|
|
+
|
|
|
|
|
+**Volgorde.** A1 + B1 + B2 (het overzicht) is op zichzelf al waardevol en veel
|
|
|
|
|
+kleiner dan de kloonknop — lever dat als eerste op, A2 + B3 daarna. Zonder het
|
|
|
|
|
+overzicht heeft de kloonknop trouwens geen plek om te staan.
|
|
|
|
|
+
|
|
|
|
|
+**Twee valkuilen vooraf.** (1) De `List<String>`-parameters zijn het fragiele
|
|
|
|
|
+deel: een List-typed argument dat op `Unset` blijft staan blokkeert de héle
|
|
|
|
|
+export met een generieke 400 (zie `CLAUDE.md`) — loopt dat vast, dan is het een
|
|
|
|
|
+Bob-stukje. (2) `stadsactiviteitAanmaken` heeft exact hetzelfde formulierpatroon;
|
|
|
|
|
+bouw eerst evenementen helemaal af en kopieer daarna pas, niet allebei tegelijk.
|
|
|
|
|
|
|
|
### 🆕 87 · Uitleggen waar je een horecagelegenheid aanmaakt — kan alleen via de website · Eigenaar: Bob (tekst + URL), Claude (app-kant)
|
|
### 🆕 87 · Uitleggen waar je een horecagelegenheid aanmaakt — kan alleen via de website · Eigenaar: Bob (tekst + URL), Claude (app-kant)
|
|
|
|
|
|