Testkunden checkbox Fix
Dieser Commit ist enthalten in:
1
backups/backup_v2docker_20250618_195853_encrypted.sql.gz.enc
Normale Datei
1
backups/backup_v2docker_20250618_195853_encrypted.sql.gz.enc
Normale Datei
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
@@ -68,7 +68,7 @@ def edit_customer(customer_id):
|
|||||||
current_customer = get_customer_by_id(customer_id)
|
current_customer = get_customer_by_id(customer_id)
|
||||||
if not current_customer:
|
if not current_customer:
|
||||||
flash('Kunde nicht gefunden!', 'error')
|
flash('Kunde nicht gefunden!', 'error')
|
||||||
return redirect(url_for('customers.customers'))
|
return redirect(url_for('customers.customers_licenses'))
|
||||||
|
|
||||||
with get_db_connection() as conn:
|
with get_db_connection() as conn:
|
||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
@@ -105,7 +105,7 @@ def edit_customer(customer_id):
|
|||||||
flash('Kunde erfolgreich aktualisiert!', 'success')
|
flash('Kunde erfolgreich aktualisiert!', 'success')
|
||||||
|
|
||||||
# Redirect mit show_test Parameter wenn nötig
|
# Redirect mit show_test Parameter wenn nötig
|
||||||
redirect_url = url_for('customers.customers')
|
redirect_url = url_for('customers.customers_licenses')
|
||||||
if request.form.get('show_test') == 'true':
|
if request.form.get('show_test') == 'true':
|
||||||
redirect_url += '?show_test=true'
|
redirect_url += '?show_test=true'
|
||||||
return redirect(redirect_url)
|
return redirect(redirect_url)
|
||||||
@@ -115,13 +115,13 @@ def edit_customer(customer_id):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Fehler beim Aktualisieren des Kunden: {str(e)}")
|
logging.error(f"Fehler beim Aktualisieren des Kunden: {str(e)}")
|
||||||
flash('Fehler beim Aktualisieren des Kunden!', 'error')
|
flash('Fehler beim Aktualisieren des Kunden!', 'error')
|
||||||
return redirect(url_for('customers.customers'))
|
return redirect(url_for('customers.customers_licenses'))
|
||||||
|
|
||||||
# GET request
|
# GET request
|
||||||
customer_data = get_customer_by_id(customer_id)
|
customer_data = get_customer_by_id(customer_id)
|
||||||
if not customer_data:
|
if not customer_data:
|
||||||
flash('Kunde nicht gefunden!', 'error')
|
flash('Kunde nicht gefunden!', 'error')
|
||||||
return redirect(url_for('customers.customers'))
|
return redirect(url_for('customers.customers_licenses'))
|
||||||
|
|
||||||
return render_template("edit_customer.html", customer=customer_data)
|
return render_template("edit_customer.html", customer=customer_data)
|
||||||
|
|
||||||
@@ -137,12 +137,13 @@ def create_customer():
|
|||||||
# Insert new customer
|
# Insert new customer
|
||||||
name = request.form['name']
|
name = request.form['name']
|
||||||
email = request.form['email']
|
email = request.form['email']
|
||||||
|
is_test = 'is_test' in request.form # Checkbox ist nur vorhanden wenn angekreuzt
|
||||||
|
|
||||||
cur.execute("""
|
cur.execute("""
|
||||||
INSERT INTO customers (name, email, created_at)
|
INSERT INTO customers (name, email, is_test, created_at)
|
||||||
VALUES (%s, %s, %s)
|
VALUES (%s, %s, %s, %s)
|
||||||
RETURNING id
|
RETURNING id
|
||||||
""", (name, email, datetime.now()))
|
""", (name, email, is_test, datetime.now()))
|
||||||
|
|
||||||
customer_id = cur.fetchone()[0]
|
customer_id = cur.fetchone()[0]
|
||||||
conn.commit()
|
conn.commit()
|
||||||
@@ -151,11 +152,20 @@ def create_customer():
|
|||||||
log_audit('CREATE', 'customer', customer_id,
|
log_audit('CREATE', 'customer', customer_id,
|
||||||
new_values={
|
new_values={
|
||||||
'name': name,
|
'name': name,
|
||||||
'email': email
|
'email': email,
|
||||||
|
'is_test': is_test
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if is_test:
|
||||||
|
flash(f'Testkunde {name} erfolgreich erstellt!', 'success')
|
||||||
|
else:
|
||||||
flash(f'Kunde {name} erfolgreich erstellt!', 'success')
|
flash(f'Kunde {name} erfolgreich erstellt!', 'success')
|
||||||
return redirect(url_for('customers.customers'))
|
|
||||||
|
# Redirect mit show_test=true wenn Testkunde erstellt wurde
|
||||||
|
if is_test:
|
||||||
|
return redirect(url_for('customers.customers_licenses', show_test='true'))
|
||||||
|
else:
|
||||||
|
return redirect(url_for('customers.customers_licenses'))
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
conn.rollback()
|
conn.rollback()
|
||||||
@@ -179,7 +189,7 @@ def delete_customer(customer_id):
|
|||||||
customer_data = get_customer_by_id(customer_id)
|
customer_data = get_customer_by_id(customer_id)
|
||||||
if not customer_data:
|
if not customer_data:
|
||||||
flash('Kunde nicht gefunden!', 'error')
|
flash('Kunde nicht gefunden!', 'error')
|
||||||
return redirect(url_for('customers.customers'))
|
return redirect(url_for('customers.customers_licenses'))
|
||||||
|
|
||||||
# Check if customer has licenses
|
# Check if customer has licenses
|
||||||
cur.execute("SELECT COUNT(*) FROM licenses WHERE customer_id = %s", (customer_id,))
|
cur.execute("SELECT COUNT(*) FROM licenses WHERE customer_id = %s", (customer_id,))
|
||||||
@@ -187,7 +197,7 @@ def delete_customer(customer_id):
|
|||||||
|
|
||||||
if license_count > 0:
|
if license_count > 0:
|
||||||
flash(f'Kunde kann nicht gelöscht werden - hat noch {license_count} Lizenz(en)!', 'error')
|
flash(f'Kunde kann nicht gelöscht werden - hat noch {license_count} Lizenz(en)!', 'error')
|
||||||
return redirect(url_for('customers.customers'))
|
return redirect(url_for('customers.customers_licenses'))
|
||||||
|
|
||||||
# Delete the customer
|
# Delete the customer
|
||||||
cur.execute("DELETE FROM customers WHERE id = %s", (customer_id,))
|
cur.execute("DELETE FROM customers WHERE id = %s", (customer_id,))
|
||||||
@@ -211,7 +221,7 @@ def delete_customer(customer_id):
|
|||||||
cur.close()
|
cur.close()
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
return redirect(url_for('customers.customers'))
|
return redirect(url_for('customers.customers_licenses'))
|
||||||
|
|
||||||
|
|
||||||
@customer_bp.route("/customers-licenses")
|
@customer_bp.route("/customers-licenses")
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren