Skip to content

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_quota met 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:

mollie|Mollie
handmatig|Handmatig
standhouder_quota|Standhouder quota

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

  1. Voeg standaard ticket toe aan winkelwagen
  2. Checkout als niet-student
  3. Betaal via Mollie test
  4. Check: geen korting toegepast

Test 2: Student korting

  1. Log in als student user (field_beroep = "student")
  2. Voeg standaard ticket toe
  3. Checkout
  4. Check: 20% korting toegepast

Test 3: Standhouder binnen quota

  1. Maak partner_quota aan voor test partner (quota: 3)
  2. Link user aan partner via field_partner
  3. Koop 2 standhouder tickets
  4. Check: aankoop succesvol

Test 4: Standhouder quota overschreden

  1. Gebruik zelfde setup als Test 3
  2. Probeer nog 2 tickets te kopen (totaal = 4, quota = 3)
  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)