Fix: Tilføj RETURNING id til order INSERT statements

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
This commit is contained in:
Christian 2025-12-23 00:29:25 +01:00
parent 718de1a6bd
commit 0fdf4549d6
2 changed files with 5 additions and 3 deletions

View File

@ -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:

View File

@ -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,