Fix registration wizard: step-skip bug + actual invoice/payment creation
Bugs fixed:
- Step 2 was skipped: checkDuplicates() advanced step AND nextStep() advanced
again after it returned. Now nextStep() returns early after checkDuplicates()
- No invoice was ever created: confirm() now creates a real invoice via
InvoiceService with the price resolved from base_prices table
- No payment was ever recorded: now uses PaymentService.recordPayment() which
creates double-entry transaction and updates invoice paid_amount
- fee_amount doesn't exist on training_programs — price comes from base_prices
(polymorphic). Added resolveProgramFee() + selectedProgramFee computed property
- Success screen now shows: participant number, program, invoice number/amount,
payment status (paid vs outstanding)
Co-Authored-By:
Claude Opus 4.6 <noreply@anthropic.com>
Showing
Please register or sign in to comment