"Refactor database schema for guest blueprint"

This commit is contained in:
2025-05-29 12:13:15 +02:00
parent 6e154f7196
commit 969a6fe2c5
5 changed files with 11 additions and 2 deletions

View File

@@ -4,6 +4,7 @@ from flask import Blueprint, render_template, request, jsonify, redirect, url_fo
from flask_login import current_user, login_required from flask_login import current_user, login_required
from functools import wraps from functools import wraps
from sqlalchemy import desc from sqlalchemy import desc
from sqlalchemy.orm import joinedload
from models import GuestRequest, Job, Printer, User, UserPermission, Notification, get_cached_session from models import GuestRequest, Job, Printer, User, UserPermission, Notification, get_cached_session
from utils.logging_config import get_logger from utils.logging_config import get_logger
@@ -112,7 +113,11 @@ def guest_requests_overview():
def guest_request_status(request_id): def guest_request_status(request_id):
"""Status einer Gastanfrage anzeigen.""" """Status einer Gastanfrage anzeigen."""
with get_cached_session() as db_session: with get_cached_session() as db_session:
guest_request = db_session.query(GuestRequest).filter_by(id=request_id).first() # Guest Request mit eager loading des printer-Relationships laden
guest_request = db_session.query(GuestRequest).options(
joinedload(GuestRequest.printer)
).filter_by(id=request_id).first()
if not guest_request: if not guest_request:
abort(404, "Anfrage nicht gefunden") abort(404, "Anfrage nicht gefunden")
@@ -126,6 +131,11 @@ def guest_request_status(request_id):
job = None job = None
if guest_request.job_id: if guest_request.job_id:
job = db_session.query(Job).filter_by(id=guest_request.job_id).first() job = db_session.query(Job).filter_by(id=guest_request.job_id).first()
# Objekte explizit von der Session trennen, um sie außerhalb verwenden zu können
db_session.expunge(guest_request)
if job:
db_session.expunge(job)
return render_template('guest_status.html', return render_template('guest_status.html',
request=guest_request, request=guest_request,

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +0,0 @@