P0: Expense Edit Modal Data Binding Failure - Root Cause & Fix #422

Closed
opened 2026-07-26 15:51:43 +02:00 by kincses · 2 comments
Owner

Mérföldkő: Master Book 2.0 — Frontend-Backend Integration
Cél: Fix the Expense Edit modal so it correctly hydrates all fields (category hierarchy, vehicle, provider, fuel details) from saved database records.

🔗 Függőségek (Dependencies)

  • Bemenet: Backend GET /expenses list endpoint, fleet_finance.asset_costs table, CostEntryWizard.vue hydration watcher
  • Kimenet: CostsView.vue edit flow, CostEntryWizard.vue edit mode, PUT /expenses/{id} endpoint

📝 Elemzés

5 specifikus bug azonosítva a frontend edit modal adatkötésében:

  1. BUG #1 (CRITICAL): Category hierarchy collapse — a leaf category_id kerül a parent dropdownba, így a select az első opcióra (Finanszírozás) esik vissza
  2. BUG #2 (HIGH): Vehicle nem kötődik be, ha nincs a vehicleStore-ban — selectedVehicleId sosem kerül beállításra
  3. BUG #3 (HIGH): Provider/ServiceProvider nem kerül hidratálásra — selectedProvider ref üres marad
  4. BUG #4 (MEDIUM): data.liters null-check hiányos lehet
  5. BUG #5 (MEDIUM): onMainCategoryChange() felülírja a subCategory értéket a hidratálás közben

Hiányzó backend endpoint: NINCS GET /expenses/by-id/{id} — a lista endpoint nyers ORM objektumokat ad vissza category_name, vendor_name, parent_category_id nélkül.

Teljes elemzés: docs/p0_expense_edit_modal_root_cause_analysis.md

**Mérföldkő:** Master Book 2.0 — Frontend-Backend Integration **Cél:** Fix the Expense Edit modal so it correctly hydrates all fields (category hierarchy, vehicle, provider, fuel details) from saved database records. ### 🔗 Függőségek (Dependencies) - **Bemenet:** Backend GET /expenses list endpoint, fleet_finance.asset_costs table, CostEntryWizard.vue hydration watcher - **Kimenet:** CostsView.vue edit flow, CostEntryWizard.vue edit mode, PUT /expenses/{id} endpoint ### 📝 Elemzés 5 specifikus bug azonosítva a frontend edit modal adatkötésében: 1. **BUG #1 (CRITICAL):** Category hierarchy collapse — a leaf category_id kerül a parent dropdownba, így a select az első opcióra (Finanszírozás) esik vissza 2. **BUG #2 (HIGH):** Vehicle nem kötődik be, ha nincs a vehicleStore-ban — selectedVehicleId sosem kerül beállításra 3. **BUG #3 (HIGH):** Provider/ServiceProvider nem kerül hidratálásra — selectedProvider ref üres marad 4. **BUG #4 (MEDIUM):** data.liters null-check hiányos lehet 5. **BUG #5 (MEDIUM):** onMainCategoryChange() felülírja a subCategory értéket a hidratálás közben Hiányzó backend endpoint: NINCS GET /expenses/by-id/{id} — a lista endpoint nyers ORM objektumokat ad vissza category_name, vendor_name, parent_category_id nélkül. Teljes elemzés: docs/p0_expense_edit_modal_root_cause_analysis.md
kincses added the Type: BugStatus: In Progress labels 2026-07-26 15:52:21 +02:00
kincses started working 2026-07-26 15:52:21 +02:00
Author
Owner

▶️ Munka megkezdve: 2026-07-26 15:52:21

▶️ **Munka megkezdve:** 2026-07-26 15:52:21
kincses added Status: Done and removed Status: In Progress labels 2026-07-26 15:52:30 +02:00
kincses worked for 9 seconds 2026-07-26 15:52:30 +02:00
Author
Owner

Munka befejezve: 2026-07-26 15:52:29

Technikai Összefoglaló:
Root cause analysis completed: 5 bugs identified in expense edit modal data binding. Primary issues: (1) Category hierarchy collapse - leaf ID put into parent dropdown, causing default to 'Finanszírozás', (2) selectedProvider never hydrated from service_provider_id, (3) selectedVehicleId never set when vehicle not in store, (4) data.liters null-check gap, (5) onMainCategoryChange clears subCategory during hydration. Missing backend GET /expenses/by-id/{id} endpoint. Full analysis: docs/p0_expense_edit_modal_root_cause_analysis.md

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-07-26 15:52:29 **Technikai Összefoglaló:** Root cause analysis completed: 5 bugs identified in expense edit modal data binding. Primary issues: (1) Category hierarchy collapse - leaf ID put into parent dropdown, causing default to 'Finanszírozás', (2) selectedProvider never hydrated from service_provider_id, (3) selectedVehicleId never set when vehicle not in store, (4) data.liters null-check gap, (5) onMainCategoryChange clears subCategory during hydration. Missing backend GET /expenses/by-id/{id} endpoint. Full analysis: docs/p0_expense_edit_modal_root_cause_analysis.md ⏱️ *Az idő rögzítve.*
Sign in to join this conversation.