"Refactor database schema for guest blueprint"
This commit is contained in:
@@ -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.
@@ -1 +0,0 @@
|
|||||||
|
|
Reference in New Issue
Block a user