diff --git a/app/timetracking/backend/order_service.py b/app/timetracking/backend/order_service.py index ef87147..b10e839 100644 --- a/app/timetracking/backend/order_service.py +++ b/app/timetracking/backend/order_service.py @@ -92,8 +92,9 @@ class OrderService: # Hent godkendte tider for kunden med case og contact detaljer query = """ SELECT t.*, - c.title as case_title, + COALESCE(c.title, c.vtiger_data->>'ticket_title', 'Ingen titel') as case_title, c.vtiger_id as case_vtiger_id, + COALESCE(c.vtiger_data->>'case_no', c.vtiger_data->>'ticket_no') as case_number, c.vtiger_data->>'ticket_title' as vtiger_title, CONCAT(cont.first_name, ' ', cont.last_name) as contact_name FROM tmodule_times t @@ -129,6 +130,7 @@ class OrderService: case_title = time_entry.get('case_title') or time_entry.get('vtiger_title') case_groups[case_id] = { 'case_vtiger_id': time_entry.get('case_vtiger_id'), + 'case_number': time_entry.get('case_number'), # Fra vtiger_data 'case_title': case_title, # Case titel fra vTiger 'contact_name': time_entry.get('contact_name'), 'worked_date': time_entry.get('worked_date'), # Seneste dato @@ -169,7 +171,12 @@ class OrderService: # Extract case number from vtiger_id (format: 39x3942 -> CC3942) case_number = "" - if group['case_vtiger_id']: + + # Prioriter case_number fra vtiger_data (TKxxxxx format) + if group.get('case_number'): + case_number = group['case_number'] + # Fallback til parse fra vtiger_id + elif group['case_vtiger_id']: vtiger_parts = group['case_vtiger_id'].split('x') if len(vtiger_parts) > 1: # Use full case ID number