🎉 Improved codebase structure & documentation 🖥️📚
This commit is contained in:
@@ -260,6 +260,50 @@ def guest_request_status(request_id):
|
||||
otp_code=otp_code,
|
||||
show_start_link=show_start_link)
|
||||
|
||||
@guest_blueprint.route('/guest/requests', methods=['GET'])
|
||||
def guest_requests_by_email():
|
||||
"""Guest-Requests für eine bestimmte E-Mail-Adresse anzeigen."""
|
||||
email = request.args.get('email')
|
||||
|
||||
if not email:
|
||||
# Ohne E-Mail-Parameter zur allgemeinen Übersicht weiterleiten
|
||||
return redirect(url_for('guest.guest_requests_overview'))
|
||||
|
||||
try:
|
||||
with get_cached_session() as db_session:
|
||||
# Guest-Requests für die angegebene E-Mail-Adresse laden
|
||||
guest_requests = db_session.query(GuestRequest).options(
|
||||
joinedload(GuestRequest.printer)
|
||||
).filter_by(email=email).order_by(desc(GuestRequest.created_at)).all()
|
||||
|
||||
# Jobs für die Requests laden falls vorhanden
|
||||
request_data = []
|
||||
for req in guest_requests:
|
||||
job = None
|
||||
if req.job_id:
|
||||
job = db_session.query(Job).options(
|
||||
joinedload(Job.printer)
|
||||
).filter_by(id=req.job_id).first()
|
||||
|
||||
request_data.append({
|
||||
'request': req,
|
||||
'job': job
|
||||
})
|
||||
|
||||
# Objekte von der Session trennen
|
||||
db_session.expunge_all()
|
||||
|
||||
return render_template('guest_requests_by_email.html',
|
||||
requests=request_data,
|
||||
email=email)
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Fehler beim Laden der Guest-Requests für E-Mail {email}: {str(e)}")
|
||||
return render_template('guest_requests_by_email.html',
|
||||
requests=[],
|
||||
email=email,
|
||||
error="Fehler beim Laden der Anfragen")
|
||||
|
||||
# API-Endpunkte
|
||||
@guest_blueprint.route('/api/guest/requests', methods=['POST'])
|
||||
def api_create_guest_request():
|
||||
|
Reference in New Issue
Block a user