Testkunden anzeigen funktioniert wieder (so semi)
Dieser Commit ist enthalten in:
@@ -6,7 +6,19 @@
|
|||||||
- Customers-Licenses Route funktioniert jetzt korrekt
|
- Customers-Licenses Route funktioniert jetzt korrekt
|
||||||
- Container startet ohne Fehler
|
- Container startet ohne Fehler
|
||||||
|
|
||||||
### Finale Fixes (18.06.2025 - 02:35 Uhr)
|
### Finale Fixes (18.06.2025 - 02:45 Uhr)
|
||||||
|
|
||||||
|
#### Customers-Licenses Testdaten-Filter
|
||||||
|
- Problem: `/customers-licenses?show_test=false` zeigte trotzdem alle Kunden (auch Testdaten)
|
||||||
|
- Ursache: Die SQL-Query in `customers_licenses()` berücksichtigte den `show_test` Parameter nicht
|
||||||
|
- Lösung:
|
||||||
|
- `show_test` Parameter aus der URL auslesen
|
||||||
|
- WHERE-Klausel hinzugefügt: `WHERE (%s OR c.is_test = false)`
|
||||||
|
- `c.is_test` in SELECT und GROUP BY hinzugefügt
|
||||||
|
- `show_test` Parameter an Template weitergeben
|
||||||
|
- Standardverhalten: Nur Produktivdaten werden angezeigt (wenn show_test=false oder nicht gesetzt)
|
||||||
|
|
||||||
|
### Bereits gelöste Probleme (18.06.2025 - 02:35 Uhr)
|
||||||
|
|
||||||
#### Backups Route Fix
|
#### Backups Route Fix
|
||||||
- Problem 1: 500 Error bei `/backups` - `url_for('admin.create_backup')` existiert nicht
|
- Problem 1: 500 Error bei `/backups` - `url_for('admin.create_backup')` existiert nicht
|
||||||
|
|||||||
@@ -195,6 +195,10 @@ def customers_licenses():
|
|||||||
import psycopg2
|
import psycopg2
|
||||||
logging.info("=== CUSTOMERS-LICENSES ROUTE CALLED ===")
|
logging.info("=== CUSTOMERS-LICENSES ROUTE CALLED ===")
|
||||||
|
|
||||||
|
# Get show_test parameter from URL
|
||||||
|
show_test = request.args.get('show_test', 'false').lower() == 'true'
|
||||||
|
logging.info(f"show_test parameter: {show_test}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Direkte Verbindung ohne Helper-Funktionen
|
# Direkte Verbindung ohne Helper-Funktionen
|
||||||
conn = psycopg2.connect(
|
conn = psycopg2.connect(
|
||||||
@@ -209,7 +213,8 @@ def customers_licenses():
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
# Hole alle Kunden mit ihren Lizenzen
|
# Hole alle Kunden mit ihren Lizenzen
|
||||||
cur.execute("""
|
# Wenn show_test=false, zeige nur Nicht-Test-Kunden
|
||||||
|
query = """
|
||||||
SELECT
|
SELECT
|
||||||
c.id,
|
c.id,
|
||||||
c.name,
|
c.name,
|
||||||
@@ -218,12 +223,16 @@ def customers_licenses():
|
|||||||
COUNT(l.id),
|
COUNT(l.id),
|
||||||
COUNT(CASE WHEN l.is_active = true THEN 1 END),
|
COUNT(CASE WHEN l.is_active = true THEN 1 END),
|
||||||
COUNT(CASE WHEN l.is_test = true THEN 1 END),
|
COUNT(CASE WHEN l.is_test = true THEN 1 END),
|
||||||
MAX(l.created_at)
|
MAX(l.created_at),
|
||||||
|
c.is_test
|
||||||
FROM customers c
|
FROM customers c
|
||||||
LEFT JOIN licenses l ON c.id = l.customer_id
|
LEFT JOIN licenses l ON c.id = l.customer_id
|
||||||
GROUP BY c.id, c.name, c.email, c.created_at
|
WHERE (%s OR c.is_test = false)
|
||||||
|
GROUP BY c.id, c.name, c.email, c.created_at, c.is_test
|
||||||
ORDER BY c.name
|
ORDER BY c.name
|
||||||
""")
|
"""
|
||||||
|
|
||||||
|
cur.execute(query, (show_test,))
|
||||||
|
|
||||||
customers = []
|
customers = []
|
||||||
results = cur.fetchall()
|
results = cur.fetchall()
|
||||||
@@ -239,10 +248,13 @@ def customers_licenses():
|
|||||||
'license_count': row[4],
|
'license_count': row[4],
|
||||||
'active_licenses': row[5],
|
'active_licenses': row[5],
|
||||||
'test_licenses': row[6],
|
'test_licenses': row[6],
|
||||||
'last_license_created': row[7]
|
'last_license_created': row[7],
|
||||||
|
'is_test': row[8]
|
||||||
})
|
})
|
||||||
|
|
||||||
return render_template("customers_licenses.html", customers=customers)
|
return render_template("customers_licenses.html",
|
||||||
|
customers=customers,
|
||||||
|
show_test=show_test)
|
||||||
|
|
||||||
finally:
|
finally:
|
||||||
cur.close()
|
cur.close()
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren