From 0fdf4549d60dff78ad5af79f673d20628abb5225 Mon Sep 17 00:00:00 2001 From: Christian Date: Tue, 23 Dec 2025 00:29:25 +0100 Subject: [PATCH] =?UTF-8?q?Fix:=20Tilf=C3=B8j=20RETURNING=20id=20til=20ord?= =?UTF-8?q?er=20INSERT=20statements?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CRITICAL BUG FIX: - execute_insert() kalder cursor.fetchone() men INSERT havde ingen RETURNING clause - Forårsagede '500: no results to fetch' ved order oprettelse - Tilføjet RETURNING id til: * tmodule_orders INSERT (linje 222) * tmodule_order_lines INSERT (linje 240) - Opdateret database.py docstring til at gøre RETURNING requirement klart ERROR: ProgrammingError - no results to fetch → INSERT INTO tmodule_orders ... VALUES (...) → Manglede RETURNING id --- app/core/database.py | 2 +- app/timetracking/backend/order_service.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/core/database.py b/app/core/database.py index 4dac789..6ce9d40 100644 --- a/app/core/database.py +++ b/app/core/database.py @@ -85,7 +85,7 @@ def execute_query(query: str, params: tuple = None, fetch: bool = True): def execute_insert(query: str, params: tuple = None): - """Execute INSERT query and return new ID""" + """Execute INSERT query and return new ID (requires RETURNING id clause)""" conn = get_db_connection() try: with conn.cursor(cursor_factory=RealDictCursor) as cursor: diff --git a/app/timetracking/backend/order_service.py b/app/timetracking/backend/order_service.py index f28d94f..22063c4 100644 --- a/app/timetracking/backend/order_service.py +++ b/app/timetracking/backend/order_service.py @@ -217,7 +217,8 @@ class OrderService: """INSERT INTO tmodule_orders (customer_id, hub_customer_id, order_date, total_hours, hourly_rate, subtotal, vat_rate, vat_amount, total_amount, status, created_by) - VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, 'draft', %s)""", + VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, 'draft', %s) + RETURNING id""", ( customer_id, customer.get('hub_customer_id'), @@ -241,7 +242,8 @@ class OrderService: """INSERT INTO tmodule_order_lines (order_id, case_id, line_number, description, quantity, unit_price, line_total, time_entry_ids, case_contact, time_date, is_travel) - VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""", + VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) + RETURNING id""", ( order_id, line.case_id,