VGBC Fase 2 - UI Configuratie Stappen¶
Datum: 2025-12-15 Status: Code klaar, UI configuratie volgt
✅ Klaar (Code)¶
- VGBC2026 editie (ID: 33)
- ECK entity
vgbc_partner_quotamet velden - StudentProfessionCondition plugin (
vg_commerce) - StandhouderQuotaValidator event subscriber (
vg_commerce)
📋 Nog te doen via UI¶
1. Rol "Winkel" aanmaken¶
Pad: /admin/people/roles/add
- Machine name: winkel
- Label: Winkel
Permissies: - Commerce Order: View any, Update any - Commerce Product: View any - Partner: View, Edit (als deze permissies bestaan) - VGBC Partner Quota: View, Edit, Create, Delete
2. field_payment_method toevoegen aan commerce_order¶
Pad: /admin/commerce/config/order-types/default/edit/fields/add-field
- Veld type: List (text)
- Label: Payment method
- Machine name: field_payment_method
- Allowed values:
3. Product variation type vgbc_ticket aanmaken¶
Pad: /admin/commerce/config/product-variation-types/add
- Machine name: vgbc_ticket
- Label: VGBC Ticket
- Generate variation title: aan (optioneel)
4. Ticket products aanmaken¶
A. Standaard Ticket¶
Pad: /admin/commerce/products/add/default
- Title: VGBC 2026 - Standaard Ticket
- Variation type: vgbc_ticket
- SKU: vgbc2026-ticket
- Price: €50.00 (of gewenste prijs)
- Published: aan
B. Standhouder Ticket¶
Pad: /admin/commerce/products/add/default
- Title: VGBC 2026 - Standhouder Ticket
- Variation type: vgbc_ticket
- SKU: vgbc2026-standhouder
- Price: €0.00
- Published: aan
5. Commerce Promotion voor studentenkorting¶
Pad: /admin/commerce/promotions/add
- Name: Studentenkorting VGBC 2026
- Offer type: Percentage off
- Percentage: 20% (of gewenst percentage)
- Conditions:
- Add condition: "User heeft beroep 'student'" (vg_student_profession)
- Compatibility: Not combinable with other promotions (optioneel)
- Status: Enabled
6. field_partner toevoegen aan customer profile (optioneel)¶
Alleen als standhouders gekoppeld moeten worden aan partners
Pad: /admin/config/people/profiles/types/manage/customer/fields/add-field
- Veld type: Entity reference
- Label: Partner organisatie
- Machine name: field_partner
- Reference type: Partner
- Required: nee
- Number of values: 1
Test Scenario's¶
Test 1: Normale aankoop¶
- Voeg standaard ticket toe aan winkelwagen
- Checkout als niet-student
- Betaal via Mollie test
- Check: geen korting toegepast
Test 2: Student korting¶
- Log in als student user (field_beroep = "student")
- Voeg standaard ticket toe
- Checkout
- Check: 20% korting toegepast
Test 3: Standhouder binnen quota¶
- Maak partner_quota aan voor test partner (quota: 3)
- Link user aan partner via field_partner
- Koop 2 standhouder tickets
- Check: aankoop succesvol
Test 4: Standhouder quota overschreden¶
- Gebruik zelfde setup als Test 3
- Probeer nog 2 tickets te kopen (totaal = 4, quota = 3)
- Check: error "Quotum overschreden. U heeft nog 1 standhouder ticket(s) beschikbaar"
Config Export¶
ddrush cex -y
git add config/
git commit -m "VGBC Fase 2: Ticket setup, student discount, standhouder quota"
Notes¶
- VGBC editie ID 33 is hardcoded in StandhouderQuotaValidator.php (regel 104)
- Later configurabel maken via settings form of taxonomy
- Student check is case-insensitive ("student", "Student", "STUDENT" werken allemaal)