Refactoring - Fix2

Dieser Commit ist enthalten in:
2025-06-18 00:07:34 +02:00
Ursprung 0ec0d2c267
Commit a9cfecc699
18 geänderte Dateien mit 1412 neuen und 337 gelöschten Zeilen

Datei anzeigen

@@ -86,20 +86,36 @@ def get_license_by_id(license_id):
return None
def get_customers():
def get_customers(show_test=False, search=None):
"""Get all customers from database"""
try:
with get_db_connection() as conn:
with get_db_cursor(conn) as cur:
cur.execute("""
query = """
SELECT c.*,
COUNT(DISTINCT l.id) as license_count,
COUNT(DISTINCT CASE WHEN l.is_active THEN l.id END) as active_licenses
FROM customers c
LEFT JOIN licenses l ON c.id = l.customer_id
GROUP BY c.id
ORDER BY c.name
""")
"""
where_clauses = []
params = []
if not show_test:
where_clauses.append("c.is_test = false")
if search:
where_clauses.append("(LOWER(c.name) LIKE LOWER(%s) OR LOWER(c.email) LIKE LOWER(%s))")
search_pattern = f'%{search}%'
params.extend([search_pattern, search_pattern])
if where_clauses:
query += " WHERE " + " AND ".join(where_clauses)
query += " GROUP BY c.id ORDER BY c.name"
cur.execute(query, params)
columns = [desc[0] for desc in cur.description]
customers = []