"Feat: Integrate new user request template for guests"
This commit is contained in:
@@ -29,12 +29,17 @@ from config.settings import (
|
||||
SCHEDULER_INTERVAL, SCHEDULER_ENABLED, get_ssl_context, FLASK_FALLBACK_PORT,
|
||||
SSL_ENABLED, SSL_CERT_PATH, SSL_KEY_PATH
|
||||
)
|
||||
from utils.logging_config import setup_logging, get_logger, log_startup_info
|
||||
from models import User, Printer, Job, Stats, get_db_session, init_database, create_initial_admin
|
||||
from utils.logging_config import setup_logging, get_logger, log_startup_info, debug_request, debug_response, measure_execution_time
|
||||
from models import User, Printer, Job, Stats, GuestRequest, UserPermission, Notification, get_db_session, init_database, create_initial_admin
|
||||
from utils.job_scheduler import scheduler
|
||||
from utils.template_helpers import register_template_helpers
|
||||
from utils.database_utils import backup_manager, database_monitor, maintenance_scheduler
|
||||
|
||||
# Blueprints importieren
|
||||
from blueprints.guest import guest_blueprint
|
||||
from blueprints.calendar import calendar_blueprint
|
||||
from blueprints.users import users_blueprint
|
||||
|
||||
# Flask-App initialisieren
|
||||
app = Flask(__name__)
|
||||
app.secret_key = SECRET_KEY
|
||||
@@ -45,6 +50,11 @@ app.config["WTF_CSRF_ENABLED"] = True
|
||||
# CSRF-Schutz initialisieren
|
||||
csrf = CSRFProtect(app)
|
||||
|
||||
# Blueprints registrieren
|
||||
app.register_blueprint(guest_blueprint)
|
||||
app.register_blueprint(calendar_blueprint)
|
||||
app.register_blueprint(users_blueprint)
|
||||
|
||||
# Login-Manager initialisieren
|
||||
login_manager = LoginManager()
|
||||
login_manager.init_app(app)
|
||||
@@ -90,6 +100,34 @@ printers_logger = get_logger("printers")
|
||||
user_logger = get_logger("user")
|
||||
kiosk_logger = get_logger("kiosk")
|
||||
|
||||
# HTTP-Request/Response-Middleware für automatisches Debug-Logging
|
||||
@app.before_request
|
||||
def log_request_info():
|
||||
"""Loggt detaillierte Informationen über eingehende HTTP-Anfragen."""
|
||||
# Nur für API-Endpunkte und wenn Debug-Level aktiviert ist
|
||||
if request.path.startswith('/api/') or app_logger.level <= logging.DEBUG:
|
||||
debug_request(app_logger, request)
|
||||
|
||||
@app.after_request
|
||||
def log_response_info(response):
|
||||
"""Loggt detaillierte Informationen über ausgehende HTTP-Antworten."""
|
||||
# Nur für API-Endpunkte und wenn Debug-Level aktiviert ist
|
||||
if request.path.startswith('/api/') or app_logger.level <= logging.DEBUG:
|
||||
# Berechne Response-Zeit aus dem g-Objekt wenn verfügbar
|
||||
duration_ms = None
|
||||
if hasattr(request, '_start_time'):
|
||||
duration_ms = (time.time() - request._start_time) * 1000
|
||||
|
||||
debug_response(app_logger, response, duration_ms)
|
||||
|
||||
return response
|
||||
|
||||
# Start-Zeit für Request-Timing setzen
|
||||
@app.before_request
|
||||
def start_timer():
|
||||
"""Setzt einen Timer für die Request-Bearbeitung."""
|
||||
request._start_time = time.time()
|
||||
|
||||
# Sicheres Passwort-Hash für Kiosk-Deaktivierung
|
||||
KIOSK_PASSWORD_HASH = generate_password_hash("744563017196A")
|
||||
|
||||
|
Reference in New Issue
Block a user