diff --git a/app.py b/app.py index 27f3407..f009e1f 100644 --- a/app.py +++ b/app.py @@ -12,7 +12,7 @@ from werkzeug.security import check_password_hash, generate_password_hash app = Flask(__name__) app.config["SECRET_KEY"] = "dev-secret-key" -APP_VERSION = "2.1.0" +APP_VERSION = "2.2.0" DATABASE = Path(__file__).with_name("inventory.db") LOGFILE = Path(__file__).with_name("inventory.log") @@ -46,7 +46,8 @@ INPUT_PLACEHOLDERS = { } IMPORT_ACTIONS = {"import", "ausgabe", "assign"} -IMPORT_HEADER = ["user", "typ", "kennung", "aktion"] +IMPORT_HEADER_4 = ["user", "typ", "kennung", "aktion"] +IMPORT_HEADER_5 = ["vorname", "nachname", "typ", "kennung", "aktion"] def get_db() -> sqlite3.Connection: @@ -261,7 +262,7 @@ def normalize_asset_type(value: str) -> str | None: def is_import_header(parts: list[str]) -> bool: normalized = [part.strip().lower() for part in parts] - return normalized == IMPORT_HEADER + return normalized == IMPORT_HEADER_4 or normalized == IMPORT_HEADER_5 def get_transaction_for_print(transaction_id: int) -> sqlite3.Row | None: @@ -477,11 +478,14 @@ def import_data() -> str: parts = [part.strip() for part in row.split(";")] if is_import_header(parts): continue - if len(parts) != 4: - errors.append(f"Zeile {index}: ungueltig. Erwartet wird: User;Typ;Kennung;Aktion") + if len(parts) == 4: + full_name, raw_asset_type, asset_code, raw_action = parts + elif len(parts) == 5: + first_name, last_name, raw_asset_type, asset_code, raw_action = parts + full_name = f"{first_name} {last_name}" + else: + errors.append(f"Zeile {index}: ungueltig. Erwartet wird: User;Typ;Kennung;Aktion oder Vorname;Nachname;Typ;Kennung;Aktion") continue - - full_name, raw_asset_type, asset_code, raw_action = parts asset_type = normalize_asset_type(raw_asset_type) action = raw_action.strip().lower() @@ -654,7 +658,7 @@ def index() -> str: """ params = (like_value, like_value, like_value, like_value, like_value) - user_query += " ORDER BY full_name COLLATE NOCASE" + user_query += " ORDER BY SUBSTR(full_name, INSTR(full_name, ' ') + 1) COLLATE NOCASE, full_name COLLATE NOCASE" users = db.execute(user_query, params).fetchall() stats = db.execute( @@ -701,14 +705,16 @@ def index() -> str: @login_required def create_user() -> str: if request.method == "POST": - full_name = request.form.get("full_name", "").strip() + first_name = request.form.get("first_name", "").strip() + last_name = request.form.get("last_name", "").strip() email = request.form.get("email", "").strip() or None department = request.form.get("department", "").strip() or None - if not full_name: - flash("Bitte einen Namen eingeben.") + if not first_name or not last_name: + flash("Bitte Vor- und Nachname eingeben.") return redirect(url_for("create_user")) + full_name = f"{first_name} {last_name}" db = get_db() db.execute( "INSERT INTO users (full_name, email, department) VALUES (?, ?, ?)", @@ -721,6 +727,65 @@ def create_user() -> str: return render_template("create_user.html") +@app.route("/users//edit", methods=["GET", "POST"]) +@login_required +def edit_user(user_id: int) -> str: + db = get_db() + user = db.execute("SELECT * FROM users WHERE id = ?", (user_id,)).fetchone() + if user is None: + flash("User wurde nicht gefunden.") + return redirect(url_for("index")) + + if request.method == "POST": + first_name = request.form.get("first_name", "").strip() + last_name = request.form.get("last_name", "").strip() + email = request.form.get("email", "").strip() or None + department = request.form.get("department", "").strip() or None + + if not first_name or not last_name: + flash("Bitte Vor- und Nachname eingeben.") + return redirect(url_for("edit_user", user_id=user_id)) + + full_name = f"{first_name} {last_name}" + db.execute( + "UPDATE users SET full_name = ?, email = ?, department = ? WHERE id = ?", + (full_name, email, department, user_id), + ) + db.commit() + flash("User wurde aktualisiert.") + return redirect(url_for("index")) + + parts = user["full_name"].rsplit(" ", 1) + first_name = parts[0] if len(parts) > 1 else "" + last_name = parts[1] if len(parts) > 1 else parts[0] + return render_template( + "edit_user.html", + user=user, + first_name=first_name, + last_name=last_name, + ) + + +@app.route("/users//delete", methods=["POST"]) +@login_required +def delete_user(user_id: int) -> str: + db = get_db() + user = db.execute("SELECT * FROM users WHERE id = ?", (user_id,)).fetchone() + if user is None: + flash("User wurde nicht gefunden.") + return redirect(url_for("index")) + + if user["chip_code"] or user["parking_card_code"] or user["pool_vehicle_code"]: + flash("Der User hat noch aktive Medien. Bitte zuerst alle Medien zuruecknehmen.") + return redirect(url_for("edit_user", user_id=user_id)) + + db.execute("DELETE FROM transactions WHERE user_id = ?", (user_id,)) + db.execute("DELETE FROM users WHERE id = ?", (user_id,)) + db.commit() + flash(f"User '{user['full_name']}' wurde geloescht.") + return redirect(url_for("index")) + + @app.route("/assign", methods=["GET", "POST"]) @login_required def assign_asset() -> str: @@ -785,7 +850,7 @@ def assign_asset() -> str: flash("Ausgabe wurde gespeichert.") return redirect(url_for("print_transaction", transaction_id=transaction_id)) - users = db.execute("SELECT id, full_name FROM users ORDER BY full_name COLLATE NOCASE").fetchall() + users = db.execute("SELECT id, full_name FROM users ORDER BY SUBSTR(full_name, INSTR(full_name, ' ') + 1) COLLATE NOCASE, full_name COLLATE NOCASE").fetchall() return render_template( "assign_asset.html", users=users, @@ -852,7 +917,7 @@ def return_asset() -> str: flash("Rueckgabe wurde gespeichert.") return redirect(url_for("print_transaction", transaction_id=transaction_id)) - users = db.execute("SELECT id, full_name FROM users ORDER BY full_name COLLATE NOCASE").fetchall() + users = db.execute("SELECT id, full_name FROM users ORDER BY SUBSTR(full_name, INSTR(full_name, ' ') + 1) COLLATE NOCASE, full_name COLLATE NOCASE").fetchall() return render_template( "return_asset.html", users=users, diff --git a/inventory.db b/inventory.db index a1d78a4..db3ddfa 100644 Binary files a/inventory.db and b/inventory.db differ diff --git a/inventory.log b/inventory.log index 04001a7..e45bc53 100644 --- a/inventory.log +++ b/inventory.log @@ -1122,3 +1122,315 @@ 2026-05-19 22:42:50,836 INFO * Restarting with stat 2026-05-19 22:42:51,090 WARNING * Debugger is active! 2026-05-19 22:42:51,115 INFO * Debugger PIN: 428-899-358 +2026-05-26 09:29:47,942 INFO WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on all addresses (0.0.0.0) + * Running on http://127.0.0.1:5006 + * Running on http://10.2.200.72:5006 +2026-05-26 09:29:47,943 INFO Press CTRL+C to quit +2026-05-26 09:29:47,947 INFO * Restarting with stat +2026-05-26 09:29:48,095 WARNING * Debugger is active! +2026-05-26 09:29:48,123 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:30:32,960 INFO 127.0.0.1 - - [26/May/2026 09:30:32] "GET / HTTP/1.1" 200 - +2026-05-26 09:30:33,169 INFO 127.0.0.1 - - [26/May/2026 09:30:33] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:31:48,540 INFO 127.0.0.1 - - [26/May/2026 09:31:48] "GET /users/new HTTP/1.1" 200 - +2026-05-26 09:31:48,573 INFO 127.0.0.1 - - [26/May/2026 09:31:48] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:32:45,582 INFO * Detected change in '/Users/erik/Documents/DEV/Key Verwaltung/app.py', reloading +2026-05-26 09:32:45,621 INFO * Restarting with stat +2026-05-26 09:32:45,895 WARNING * Debugger is active! +2026-05-26 09:32:45,911 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:33:20,454 INFO 127.0.0.1 - - [26/May/2026 09:33:20] "GET / HTTP/1.1" 200 - +2026-05-26 09:33:20,486 INFO 127.0.0.1 - - [26/May/2026 09:33:20] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:33:21,481 INFO 127.0.0.1 - - [26/May/2026 09:33:21] "GET /users/new HTTP/1.1" 200 - +2026-05-26 09:33:21,507 INFO 127.0.0.1 - - [26/May/2026 09:33:21] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:33:31,401 INFO 127.0.0.1 - - [26/May/2026 09:33:31] "GET /assign HTTP/1.1" 200 - +2026-05-26 09:33:31,429 INFO 127.0.0.1 - - [26/May/2026 09:33:31] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:33:41,231 INFO 127.0.0.1 - - [26/May/2026 09:33:41] "GET /users/new HTTP/1.1" 200 - +2026-05-26 09:33:41,253 INFO 127.0.0.1 - - [26/May/2026 09:33:41] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:34:11,757 INFO 127.0.0.1 - - [26/May/2026 09:34:11] "POST /users/new HTTP/1.1" 302 - +2026-05-26 09:34:11,787 INFO 127.0.0.1 - - [26/May/2026 09:34:11] "GET / HTTP/1.1" 200 - +2026-05-26 09:34:11,813 INFO 127.0.0.1 - - [26/May/2026 09:34:11] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:34:11,819 INFO 127.0.0.1 - - [26/May/2026 09:34:11] "GET /static/favicon.ico HTTP/1.1" 304 - +2026-05-26 09:35:27,415 INFO * Detected change in '/Users/erik/Documents/DEV/Key Verwaltung/app.py', reloading +2026-05-26 09:35:27,446 INFO * Restarting with stat +2026-05-26 09:35:27,690 WARNING * Debugger is active! +2026-05-26 09:35:27,705 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:36:41,161 INFO * Detected change in '/Users/erik/Documents/DEV/Key Verwaltung/app.py', reloading +2026-05-26 09:36:41,192 INFO * Restarting with stat +2026-05-26 09:36:41,430 WARNING * Debugger is active! +2026-05-26 09:36:41,444 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:36:42,560 INFO * Detected change in '/Users/erik/Documents/DEV/Key Verwaltung/app.py', reloading +2026-05-26 09:36:42,588 INFO * Restarting with stat +2026-05-26 09:36:42,764 WARNING * Debugger is active! +2026-05-26 09:36:42,775 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:36:57,620 INFO 127.0.0.1 - - [26/May/2026 09:36:57] "GET / HTTP/1.1" 200 - +2026-05-26 09:36:57,654 INFO 127.0.0.1 - - [26/May/2026 09:36:57] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:37:02,150 INFO 127.0.0.1 - - [26/May/2026 09:37:02] "GET /users/new HTTP/1.1" 200 - +2026-05-26 09:37:02,177 INFO 127.0.0.1 - - [26/May/2026 09:37:02] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:37:03,443 INFO 127.0.0.1 - - [26/May/2026 09:37:03] "GET /assign HTTP/1.1" 200 - +2026-05-26 09:37:03,481 INFO 127.0.0.1 - - [26/May/2026 09:37:03] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:37:12,103 INFO 127.0.0.1 - - [26/May/2026 09:37:12] "GET /return HTTP/1.1" 200 - +2026-05-26 09:37:12,123 INFO 127.0.0.1 - - [26/May/2026 09:37:12] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:37:15,722 INFO 127.0.0.1 - - [26/May/2026 09:37:15] "GET / HTTP/1.1" 200 - +2026-05-26 09:37:15,744 INFO 127.0.0.1 - - [26/May/2026 09:37:15] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:37:36,657 INFO 127.0.0.1 - - [26/May/2026 09:37:36] "GET /admin/import HTTP/1.1" 200 - +2026-05-26 09:37:36,679 INFO 127.0.0.1 - - [26/May/2026 09:37:36] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:37:42,057 INFO 127.0.0.1 - - [26/May/2026 09:37:42] "GET / HTTP/1.1" 200 - +2026-05-26 09:37:42,082 INFO 127.0.0.1 - - [26/May/2026 09:37:42] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:39:01,302 INFO * Detected change in '/Users/erik/Documents/DEV/Key Verwaltung/app.py', reloading +2026-05-26 09:39:01,337 INFO * Restarting with stat +2026-05-26 09:39:02,981 WARNING * Debugger is active! +2026-05-26 09:39:03,011 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:39:04,145 INFO * Detected change in '/Users/erik/Documents/DEV/Key Verwaltung/app.py', reloading +2026-05-26 09:39:04,196 INFO * Restarting with stat +2026-05-26 09:39:04,514 WARNING * Debugger is active! +2026-05-26 09:39:04,531 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:39:09,836 INFO * Detected change in '/Users/erik/Documents/DEV/Key Verwaltung/app.py', reloading +2026-05-26 09:39:09,860 INFO * Restarting with stat +2026-05-26 09:39:10,040 WARNING * Debugger is active! +2026-05-26 09:39:10,051 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:39:25,999 INFO 127.0.0.1 - - [26/May/2026 09:39:25] "GET / HTTP/1.1" 200 - +2026-05-26 09:39:26,044 INFO 127.0.0.1 - - [26/May/2026 09:39:26] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:39:27,940 INFO 127.0.0.1 - - [26/May/2026 09:39:27] "GET /admin/import HTTP/1.1" 200 - +2026-05-26 09:39:27,971 INFO 127.0.0.1 - - [26/May/2026 09:39:27] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:39:54,151 INFO 127.0.0.1 - - [26/May/2026 09:39:54] "GET / HTTP/1.1" 200 - +2026-05-26 09:39:54,171 INFO 127.0.0.1 - - [26/May/2026 09:39:54] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:39:57,003 INFO 127.0.0.1 - - [26/May/2026 09:39:57] "GET /users/new HTTP/1.1" 200 - +2026-05-26 09:39:57,024 INFO 127.0.0.1 - - [26/May/2026 09:39:57] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:41:02,435 INFO * Detected change in '/Users/erik/Documents/DEV/Key Verwaltung/app.py', reloading +2026-05-26 09:41:02,469 INFO * Restarting with stat +2026-05-26 09:41:02,732 WARNING * Debugger is active! +2026-05-26 09:41:02,752 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:41:43,649 INFO 127.0.0.1 - - [26/May/2026 09:41:43] "GET / HTTP/1.1" 500 - +2026-05-26 09:41:43,697 INFO 127.0.0.1 - - [26/May/2026 09:41:43] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - +2026-05-26 09:41:43,705 INFO 127.0.0.1 - - [26/May/2026 09:41:43] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - +2026-05-26 09:41:43,710 INFO 127.0.0.1 - - [26/May/2026 09:41:43] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - +2026-05-26 09:41:43,713 INFO 127.0.0.1 - - [26/May/2026 09:41:43] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=L3AK89IbPCI5lW5l4bmf HTTP/1.1" 200 - +2026-05-26 09:42:51,765 INFO * Detected change in '/Users/erik/Documents/DEV/Key Verwaltung/app.py', reloading +2026-05-26 09:42:51,809 INFO * Restarting with stat +2026-05-26 09:42:52,092 WARNING * Debugger is active! +2026-05-26 09:42:52,117 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:43:02,764 INFO 127.0.0.1 - - [26/May/2026 09:43:02] "GET /favicon.ico HTTP/1.1" 404 - +2026-05-26 09:43:05,542 INFO 127.0.0.1 - - [26/May/2026 09:43:05] "GET / HTTP/1.1" 200 - +2026-05-26 09:43:05,567 INFO 127.0.0.1 - - [26/May/2026 09:43:05] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:43:08,539 INFO 127.0.0.1 - - [26/May/2026 09:43:08] "GET /users/new HTTP/1.1" 200 - +2026-05-26 09:43:08,562 INFO 127.0.0.1 - - [26/May/2026 09:43:08] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:43:17,991 INFO 127.0.0.1 - - [26/May/2026 09:43:17] "GET / HTTP/1.1" 200 - +2026-05-26 09:43:18,016 INFO 127.0.0.1 - - [26/May/2026 09:43:18] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:43:26,062 INFO 127.0.0.1 - - [26/May/2026 09:43:26] "GET /users/1/edit HTTP/1.1" 200 - +2026-05-26 09:43:26,085 INFO 127.0.0.1 - - [26/May/2026 09:43:26] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:43:41,891 INFO 127.0.0.1 - - [26/May/2026 09:43:41] "POST /users/1/edit HTTP/1.1" 302 - +2026-05-26 09:43:41,916 INFO 127.0.0.1 - - [26/May/2026 09:43:41] "GET / HTTP/1.1" 200 - +2026-05-26 09:43:41,938 INFO 127.0.0.1 - - [26/May/2026 09:43:41] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:43:41,950 INFO 127.0.0.1 - - [26/May/2026 09:43:41] "GET /static/favicon.ico HTTP/1.1" 304 - +2026-05-26 09:43:46,667 INFO 127.0.0.1 - - [26/May/2026 09:43:46] "GET /users/1/edit HTTP/1.1" 200 - +2026-05-26 09:43:46,688 INFO 127.0.0.1 - - [26/May/2026 09:43:46] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:43:49,793 INFO 127.0.0.1 - - [26/May/2026 09:43:49] "GET / HTTP/1.1" 200 - +2026-05-26 09:43:49,820 INFO 127.0.0.1 - - [26/May/2026 09:43:49] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:43:51,867 INFO 127.0.0.1 - - [26/May/2026 09:43:51] "GET /users/2/edit HTTP/1.1" 200 - +2026-05-26 09:43:51,889 INFO 127.0.0.1 - - [26/May/2026 09:43:51] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:44:02,825 INFO 127.0.0.1 - - [26/May/2026 09:44:02] "GET / HTTP/1.1" 200 - +2026-05-26 09:44:02,851 INFO 127.0.0.1 - - [26/May/2026 09:44:02] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:44:09,620 INFO 127.0.0.1 - - [26/May/2026 09:44:09] "GET /admin/import HTTP/1.1" 200 - +2026-05-26 09:44:09,641 INFO 127.0.0.1 - - [26/May/2026 09:44:09] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:46:57,637 INFO 127.0.0.1 - - [26/May/2026 09:46:57] "GET / HTTP/1.1" 200 - +2026-05-26 09:46:57,662 INFO 127.0.0.1 - - [26/May/2026 09:46:57] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:47:01,864 INFO 127.0.0.1 - - [26/May/2026 09:47:01] "GET /users/new HTTP/1.1" 200 - +2026-05-26 09:47:01,885 INFO 127.0.0.1 - - [26/May/2026 09:47:01] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:47:02,952 INFO 127.0.0.1 - - [26/May/2026 09:47:02] "GET /assign HTTP/1.1" 200 - +2026-05-26 09:47:02,972 INFO 127.0.0.1 - - [26/May/2026 09:47:02] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:47:04,065 INFO 127.0.0.1 - - [26/May/2026 09:47:04] "GET /admin/import HTTP/1.1" 200 - +2026-05-26 09:47:04,088 INFO 127.0.0.1 - - [26/May/2026 09:47:04] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:51:09,481 INFO 127.0.0.1 - - [26/May/2026 09:51:09] "GET /users/new HTTP/1.1" 200 - +2026-05-26 09:51:09,524 INFO 127.0.0.1 - - [26/May/2026 09:51:09] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:51:09,909 INFO 127.0.0.1 - - [26/May/2026 09:51:09] "GET / HTTP/1.1" 200 - +2026-05-26 09:51:09,942 INFO 127.0.0.1 - - [26/May/2026 09:51:09] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:51:12,450 INFO 127.0.0.1 - - [26/May/2026 09:51:12] "GET /users/2/edit HTTP/1.1" 200 - +2026-05-26 09:51:12,472 INFO 127.0.0.1 - - [26/May/2026 09:51:12] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:51:57,605 INFO * Detected change in '/Users/erik/Documents/DEV/Key Verwaltung/app.py', reloading +2026-05-26 09:51:57,636 INFO * Restarting with stat +2026-05-26 09:51:57,992 WARNING * Debugger is active! +2026-05-26 09:51:58,020 INFO * Debugger PIN: 120-749-271 +2026-05-26 09:52:35,598 INFO 127.0.0.1 - - [26/May/2026 09:52:35] "GET / HTTP/1.1" 200 - +2026-05-26 09:52:35,630 INFO 127.0.0.1 - - [26/May/2026 09:52:35] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:52:40,242 INFO 127.0.0.1 - - [26/May/2026 09:52:40] "GET /users/1/edit HTTP/1.1" 200 - +2026-05-26 09:52:40,269 INFO 127.0.0.1 - - [26/May/2026 09:52:40] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:52:46,923 INFO 127.0.0.1 - - [26/May/2026 09:52:46] "POST /users/1/delete HTTP/1.1" 302 - +2026-05-26 09:52:46,932 INFO 127.0.0.1 - - [26/May/2026 09:52:46] "GET /users/1/edit HTTP/1.1" 200 - +2026-05-26 09:52:46,958 INFO 127.0.0.1 - - [26/May/2026 09:52:46] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:52:46,967 INFO 127.0.0.1 - - [26/May/2026 09:52:46] "GET /static/favicon.ico HTTP/1.1" 304 - +2026-05-26 09:53:18,318 INFO 127.0.0.1 - - [26/May/2026 09:53:18] "GET /return HTTP/1.1" 200 - +2026-05-26 09:53:18,345 INFO 127.0.0.1 - - [26/May/2026 09:53:18] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 09:53:25,571 INFO 127.0.0.1 - - [26/May/2026 09:53:25] "GET / HTTP/1.1" 200 - +2026-05-26 09:53:25,592 INFO 127.0.0.1 - - [26/May/2026 09:53:25] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:33:39,758 INFO 127.0.0.1 - - [26/May/2026 10:33:39] "GET /admin/import HTTP/1.1" 200 - +2026-05-26 10:33:39,814 INFO 127.0.0.1 - - [26/May/2026 10:33:39] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:37:03,373 INFO 127.0.0.1 - - [26/May/2026 10:37:03] "POST /admin/import HTTP/1.1" 302 - +2026-05-26 10:37:03,380 INFO 127.0.0.1 - - [26/May/2026 10:37:03] "GET /admin/import HTTP/1.1" 200 - +2026-05-26 10:37:03,398 INFO 127.0.0.1 - - [26/May/2026 10:37:03] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:37:03,405 INFO 127.0.0.1 - - [26/May/2026 10:37:03] "GET /static/favicon.ico HTTP/1.1" 304 - +2026-05-26 10:37:56,357 INFO import | user= Generalschluessel | typ=Tuerchip | kennung=1 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Ralf Binder | typ=Tuerchip | kennung=2 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Julia Bechtle | typ=Tuerchip | kennung=3 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Benedict Scheller | typ=Tuerchip | kennung=5 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user= Wachdienst | typ=Tuerchip | kennung=6 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Mario Klar | typ=Tuerchip | kennung=7 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Thomas Schirmer | typ=Tuerchip | kennung=8 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Helene Abrahams | typ=Tuerchip | kennung=9 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Dusanka Panic | typ=Tuerchip | kennung=16 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Martin Layh | typ=Tuerchip | kennung=18 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Daniele Cannata | typ=Tuerchip | kennung=20 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Marcus Schnizer | typ=Tuerchip | kennung=21 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Oliver Frank | typ=Tuerchip | kennung=22 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Alexander Gier | typ=Tuerchip | kennung=23 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Philipp Goedrich | typ=Tuerchip | kennung=24 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Tobias Beller | typ=Tuerchip | kennung=25 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Thorsten Micha | typ=Tuerchip | kennung=26 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Stefan Renz | typ=Tuerchip | kennung=27 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Harald Hagenlocher | typ=Tuerchip | kennung=28 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Mohammed Rami | typ=Tuerchip | kennung=29 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=FrauSchnorr ReinigungsdienstBauer | typ=Tuerchip | kennung=31 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Jochen Porep | typ=Tuerchip | kennung=34 | bearbeiter=Import +2026-05-26 10:37:56,358 INFO import | user=Christian Maurer | typ=Tuerchip | kennung=36 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Turker Kaleburun | typ=Tuerchip | kennung=42 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Marc Hofmann | typ=Tuerchip | kennung=46 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Klaus Treiber | typ=Tuerchip | kennung=47 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Andreas Pyter | typ=Tuerchip | kennung=48 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Christian Glück | typ=Tuerchip | kennung=49 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Dennis Steck | typ=Tuerchip | kennung=50 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Yannik Neuberth | typ=Tuerchip | kennung=52 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Sebastian Buchholz | typ=Tuerchip | kennung=53 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Andreas Edelmann | typ=Tuerchip | kennung=54 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Sascha Almer | typ=Tuerchip | kennung=58 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Stefan Schäfer | typ=Tuerchip | kennung=59 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Frank Raith | typ=Tuerchip | kennung=60 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Sebastian Otte | typ=Tuerchip | kennung=62 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Blind Reinigung | typ=Tuerchip | kennung=65 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Katrin Lindemann | typ=Tuerchip | kennung=67 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Martin Schmid | typ=Tuerchip | kennung=69 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Christoph Linhart | typ=Tuerchip | kennung=74 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Thomas Kranert | typ=Tuerchip | kennung=76 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Guttmann,Henry | typ=Tuerchip | kennung=77 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Brandt,Thomas | typ=Tuerchip | kennung=78 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Litschewsky,Daniel | typ=Tuerchip | kennung=81 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Michelle Roth | typ=Tuerchip | kennung=83 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Freitag,Alina | typ=Tuerchip | kennung=84 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Felix Aldinger | typ=Tuerchip | kennung=85 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Sturm,Stefan | typ=Tuerchip | kennung=86 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Hoffmann,Philip | typ=Tuerchip | kennung=87 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Schmidt,Achim | typ=Tuerchip | kennung=88 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Schnaidt,Christoph | typ=Tuerchip | kennung=89 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Augustin,Nikola | typ=Tuerchip | kennung=90 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Frerichs,Uwe | typ=Tuerchip | kennung=91 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user= Ullrich,Felix | typ=Tuerchip | kennung=92 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Jacqueline Decker | typ=Tuerchip | kennung=93 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=ICT Catal,Selcuk | typ=Tuerchip | kennung=94 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Paul Kern | typ=Tuerchip | kennung=100 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Marius Angeli | typ=Tuerchip | kennung=111 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Richter Jannik | typ=Tuerchip | kennung=114 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Noah Schmidt | typ=Tuerchip | kennung=118 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Goran Vugrinec | typ=Tuerchip | kennung=119 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Erik Thiele | typ=Tuerchip | kennung=120 | bearbeiter=Import +2026-05-26 10:37:56,359 INFO import | user=Leonard Mitrovic | typ=Tuerchip | kennung=124 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user= Maier,Adrian | typ=Tuerchip | kennung=127 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Massimo Esposito | typ=Tuerchip | kennung=130 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Joachim Braeuer | typ=Tuerchip | kennung=133 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Jannis Schulze | typ=Tuerchip | kennung=138 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Patrick Prettl | typ=Tuerchip | kennung=139 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Patrick Laux | typ=Tuerchip | kennung=141 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Stipan Saran | typ=Tuerchip | kennung=146 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Sabrina Woodson | typ=Tuerchip | kennung=149 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Christos Karalis | typ=Tuerchip | kennung=151 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Filip Mitrovic | typ=Tuerchip | kennung=157 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=David Schreiber | typ=Tuerchip | kennung=160 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Linus Wachter | typ=Tuerchip | kennung=167 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Joel Hirsch | typ=Tuerchip | kennung=168 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Henrik Stieben | typ=Tuerchip | kennung=169 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Patrick Schaefer | typ=Tuerchip | kennung=170 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Linus Kempfle | typ=Tuerchip | kennung=171 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Jan Kirchner | typ=Tuerchip | kennung=173 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Lorenzo Lima | typ=Tuerchip | kennung=174 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Sebastian Noack | typ=Tuerchip | kennung=175 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Michael Gebert | typ=Tuerchip | kennung=176 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Svenja Janssen | typ=Tuerchip | kennung=180 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Manuela Herberich | typ=Tuerchip | kennung=183 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Peter Weickenmeier | typ=Tuerchip | kennung=196 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Clemens Eberhardt | typ=Tuerchip | kennung=197 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Kundenzugang Alarmloeschen | typ=Tuerchip | kennung=201 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Katharina Keiss | typ=Tuerchip | kennung=210 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Robert Reiter | typ=Tuerchip | kennung=215 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Mathias Litzinger | typ=Tuerchip | kennung=216 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Mike Matis | typ=Tuerchip | kennung=217 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=David Pipus | typ=Tuerchip | kennung=218 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Leandro Ribeiro | typ=Tuerchip | kennung=219 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=Ronald Zinn | typ=Tuerchip | kennung=220 | bearbeiter=Import +2026-05-26 10:37:56,360 INFO import | user=1 Reinigungsdienst | typ=Tuerchip | kennung=221 | bearbeiter=Import +2026-05-26 10:37:56,361 INFO import | user=2 Reinigungsdienst | typ=Tuerchip | kennung=222 | bearbeiter=Import +2026-05-26 10:37:56,361 INFO import | user=3 Reinigungsdienst | typ=Tuerchip | kennung=223 | bearbeiter=Import +2026-05-26 10:37:56,361 INFO import | user=4 Reinigungsdienst | typ=Tuerchip | kennung=224 | bearbeiter=Import +2026-05-26 10:37:56,361 INFO import | user=5 Reinigungsdienst | typ=Tuerchip | kennung=225 | bearbeiter=Import +2026-05-26 10:37:56,361 INFO import | user=6 Reinigungsdienst | typ=Tuerchip | kennung=226 | bearbeiter=Import +2026-05-26 10:37:56,361 INFO import | user=Bedeinteile ErrichterZugang | typ=Tuerchip | kennung=63 | bearbeiter=Import +2026-05-26 10:37:56,361 INFO import | user=Reinigung Ersatz | typ=Tuerchip | kennung=145 | bearbeiter=Import +2026-05-26 10:37:56,361 INFO import | user=Ersatz B¸rots | typ=Tuerchip | kennung=227 | bearbeiter=Import +2026-05-26 10:37:56,364 INFO 127.0.0.1 - - [26/May/2026 10:37:56] "POST /admin/import HTTP/1.1" 302 - +2026-05-26 10:37:56,391 INFO 127.0.0.1 - - [26/May/2026 10:37:56] "GET / HTTP/1.1" 200 - +2026-05-26 10:37:56,420 INFO 127.0.0.1 - - [26/May/2026 10:37:56] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:37:56,450 INFO 127.0.0.1 - - [26/May/2026 10:37:56] "GET /static/favicon.ico HTTP/1.1" 304 - +2026-05-26 10:38:50,088 INFO 127.0.0.1 - - [26/May/2026 10:38:50] "GET /users/95/edit HTTP/1.1" 200 - +2026-05-26 10:38:50,111 INFO 127.0.0.1 - - [26/May/2026 10:38:50] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:39:00,010 INFO 127.0.0.1 - - [26/May/2026 10:39:00] "GET / HTTP/1.1" 200 - +2026-05-26 10:39:00,036 INFO 127.0.0.1 - - [26/May/2026 10:39:00] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:39:14,743 INFO 127.0.0.1 - - [26/May/2026 10:39:14] "GET /?q=224 HTTP/1.1" 200 - +2026-05-26 10:39:14,764 INFO 127.0.0.1 - - [26/May/2026 10:39:14] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:39:26,622 INFO 127.0.0.1 - - [26/May/2026 10:39:26] "GET /?q=Reinigung HTTP/1.1" 200 - +2026-05-26 10:39:26,648 INFO 127.0.0.1 - - [26/May/2026 10:39:26] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:39:56,959 INFO 127.0.0.1 - - [26/May/2026 10:39:56] "GET /?q= HTTP/1.1" 200 - +2026-05-26 10:39:56,981 INFO 127.0.0.1 - - [26/May/2026 10:39:56] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:41:22,855 INFO 127.0.0.1 - - [26/May/2026 10:41:22] "GET /assign HTTP/1.1" 200 - +2026-05-26 10:41:22,879 INFO 127.0.0.1 - - [26/May/2026 10:41:22] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:41:41,945 INFO 127.0.0.1 - - [26/May/2026 10:41:41] "GET /return HTTP/1.1" 200 - +2026-05-26 10:41:41,968 INFO 127.0.0.1 - - [26/May/2026 10:41:41] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:41:52,001 INFO rueckgabe | user=Erik Thiele | typ=Poolfahrzeug | kennung=GZ-CC-433E | bearbeiter=Administrator +2026-05-26 10:41:52,001 INFO 127.0.0.1 - - [26/May/2026 10:41:52] "POST /return HTTP/1.1" 302 - +2026-05-26 10:41:52,023 INFO 127.0.0.1 - - [26/May/2026 10:41:52] "GET /transactions/108/print HTTP/1.1" 200 - +2026-05-26 10:41:52,046 INFO 127.0.0.1 - - [26/May/2026 10:41:52] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:41:52,049 INFO 127.0.0.1 - - [26/May/2026 10:41:52] "GET /static/favicon.ico HTTP/1.1" 304 - +2026-05-26 10:41:54,972 INFO 127.0.0.1 - - [26/May/2026 10:41:54] "GET / HTTP/1.1" 200 - +2026-05-26 10:41:54,996 INFO 127.0.0.1 - - [26/May/2026 10:41:54] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:41:55,029 INFO 127.0.0.1 - - [26/May/2026 10:41:55] "GET /static/favicon.ico HTTP/1.1" 304 - +2026-05-26 10:42:49,823 INFO 127.0.0.1 - - [26/May/2026 10:42:49] "GET /users/new HTTP/1.1" 200 - +2026-05-26 10:42:49,846 INFO 127.0.0.1 - - [26/May/2026 10:42:49] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:42:52,036 INFO 127.0.0.1 - - [26/May/2026 10:42:52] "GET / HTTP/1.1" 200 - +2026-05-26 10:42:52,059 INFO 127.0.0.1 - - [26/May/2026 10:42:52] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:42:59,705 INFO 127.0.0.1 - - [26/May/2026 10:42:59] "GET /users/9/edit HTTP/1.1" 200 - +2026-05-26 10:42:59,730 INFO 127.0.0.1 - - [26/May/2026 10:42:59] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 10:43:12,497 INFO 127.0.0.1 - - [26/May/2026 10:43:12] "GET / HTTP/1.1" 200 - +2026-05-26 10:43:12,519 INFO 127.0.0.1 - - [26/May/2026 10:43:12] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 13:05:35,439 INFO 127.0.0.1 - - [26/May/2026 13:05:35] "GET /?q=laux HTTP/1.1" 200 - +2026-05-26 13:05:35,496 INFO 127.0.0.1 - - [26/May/2026 13:05:35] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 13:05:47,475 INFO 127.0.0.1 - - [26/May/2026 13:05:47] "GET /assign HTTP/1.1" 200 - +2026-05-26 13:05:47,499 INFO 127.0.0.1 - - [26/May/2026 13:05:47] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 13:06:14,663 INFO ausgabe | user=Patrick Laux | typ=Parkkarte | kennung=151 | bearbeiter=Administrator +2026-05-26 13:06:14,664 INFO 127.0.0.1 - - [26/May/2026 13:06:14] "POST /assign HTTP/1.1" 302 - +2026-05-26 13:06:14,677 INFO 127.0.0.1 - - [26/May/2026 13:06:14] "GET /transactions/109/print HTTP/1.1" 200 - +2026-05-26 13:06:14,698 INFO 127.0.0.1 - - [26/May/2026 13:06:14] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 13:06:14,711 INFO 127.0.0.1 - - [26/May/2026 13:06:14] "GET /static/favicon.ico HTTP/1.1" 304 - +2026-05-26 13:08:47,255 INFO 127.0.0.1 - - [26/May/2026 13:08:47] "GET / HTTP/1.1" 200 - +2026-05-26 13:08:47,283 INFO 127.0.0.1 - - [26/May/2026 13:08:47] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 13:08:47,312 INFO 127.0.0.1 - - [26/May/2026 13:08:47] "GET /static/favicon.ico HTTP/1.1" 304 - +2026-05-26 13:08:48,765 INFO 127.0.0.1 - - [26/May/2026 13:08:48] "GET /admin/import HTTP/1.1" 200 - +2026-05-26 13:08:48,794 INFO 127.0.0.1 - - [26/May/2026 13:08:48] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 13:08:58,882 INFO 127.0.0.1 - - [26/May/2026 13:08:58] "GET /return HTTP/1.1" 200 - +2026-05-26 13:08:58,914 INFO 127.0.0.1 - - [26/May/2026 13:08:58] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 13:27:05,420 INFO 127.0.0.1 - - [26/May/2026 13:27:05] "GET / HTTP/1.1" 200 - +2026-05-26 13:27:05,464 INFO 127.0.0.1 - - [26/May/2026 13:27:05] "GET /static/cancom.svg HTTP/1.1" 304 - +2026-05-26 16:49:45,930 INFO WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on all addresses (0.0.0.0) + * Running on http://127.0.0.1:5006 + * Running on http://10.2.200.72:5006 +2026-05-26 16:49:45,933 INFO Press CTRL+C to quit +2026-05-26 16:49:45,939 INFO * Restarting with stat +2026-05-26 16:49:46,092 WARNING * Debugger is active! +2026-05-26 16:49:46,119 INFO * Debugger PIN: 428-899-358 +2026-05-26 16:50:22,034 INFO 127.0.0.1 - - [26/May/2026 16:50:22] "GET / HTTP/1.1" 200 - +2026-05-26 16:50:22,070 INFO 127.0.0.1 - - [26/May/2026 16:50:22] "GET /static/cancom.svg HTTP/1.1" 304 - diff --git a/session-ses_1c38.md b/session-ses_1c38.md new file mode 100644 index 0000000..1a3f2c0 --- /dev/null +++ b/session-ses_1c38.md @@ -0,0 +1,4415 @@ +# Fußzeile ohne Strich wie Referenz links + +**Session ID:** ses_1c38497b2ffeAZVYNxTAGVsmpA +**Created:** 5/18/2026, 9:06:21 PM +**Updated:** 5/26/2026, 9:52:10 AM + +--- + +## Assistant (Build · GPT-5.4 Mini · 2.8s) + +Ich benenne die sichtbaren Stellen jetzt auf `keyadmin` um und lasse die internen Dateinamen und die Runtime-DB unangetastet. + +**Tool: apply_patch** + +**Input:** +```json +{ + "patchText": "*** Begin Patch\n*** Update File: /Users/erik/Documents/DEV/Key Verwaltung/templates/base.html\n@@\n- {{ title or \"Chipverwaltung\" }}\n+ {{ title or \"keyadmin\" }}\n*** End Patch" +} +``` + +**Output:** +``` +Success. Updated the following files: +M templates/base.html +``` + +--- + +## Assistant (Build · GPT-5.4 Mini · 2.5s) + +**Tool: apply_patch** + +**Input:** +```json +{ + "patchText": "*** Begin Patch\n*** Update File: /Users/erik/Documents/DEV/Key Verwaltung/templates/login.html\n@@\n-

Chipverwaltung

\n+

keyadmin

\n*** End Patch" +} +``` + +**Output:** +``` +Success. Updated the following files: +M templates/login.html +``` + +--- + +## Assistant (Build · GPT-5.4 Mini · 3.0s) + +**Tool: apply_patch** + +**Input:** +```json +{ + "patchText": "*** Begin Patch\n*** Update File: /Users/erik/Documents/DEV/Key Verwaltung/README.md\n@@\n-# Verwaltung fuer Tuerchips, Parkkarten und Poolfahrzeuge\n+# keyadmin\n*** End Patch" +} +``` + +**Output:** +``` +Success. Updated the following files: +M README.md +``` + +--- + +## Assistant (Build · GPT-5.4 Mini · 3.1s) + +`keyadmin` ist jetzt in den sichtbaren Stellen gesetzt: + +- Browser-Tab-Titel: `keyadmin` +- Login-Überschrift: `keyadmin` +- README-Titel: `keyadmin` + +Ich habe die internen Dateinamen und die Compose-Referenzen bewusst nicht umbenannt, nur die sichtbare Anwendungssprache. + +Wenn du willst, kann ich als Nächstes auch den Header-Brandtext noch von `CANCOM BU Sued/West`/`Tuerchip-, Parkkarten- und Poolfahrzeugverwaltung` auf etwas kompakteres mit `keyadmin` abstimmen. + +--- + +## User + +ja + +--- + +## Assistant (Build · GPT-5.4 Mini · 3.9s) + +Ich passe den Header-Brandtext so an, dass `keyadmin` dort als Hauptmarke erscheint und die Unterzeile kurz bleibt. + +**Tool: read** + +**Input:** +```json +{ + "filePath": "/Users/erik/Documents/DEV/Key Verwaltung/templates/base.html", + "offset": 491, + "limit": 16 +} +``` + +**Output:** +``` +/Users/erik/Documents/DEV/Key Verwaltung/templates/base.html +file + +491: