📝 "Refactor session handling
This commit is contained in:
@@ -772,6 +772,39 @@ def api_update_request(request_id):
|
||||
logger.error(f"Fehler beim Aktualisieren der Gastanfrage: {str(e)}")
|
||||
return jsonify({"error": "Fehler beim Verarbeiten der Anfrage"}), 500
|
||||
|
||||
@guest_blueprint.route('/api/admin/requests/<int:request_id>', methods=['DELETE'])
|
||||
@approver_required
|
||||
def api_delete_request(request_id):
|
||||
"""Gastanfrage löschen (nur für Admins)."""
|
||||
try:
|
||||
with get_cached_session() as db_session:
|
||||
guest_request = db_session.query(GuestRequest).filter_by(id=request_id).first()
|
||||
if not guest_request:
|
||||
return jsonify({"error": "Anfrage nicht gefunden"}), 404
|
||||
|
||||
# Falls ein Job verknüpft ist, diesen auch löschen
|
||||
if guest_request.job_id:
|
||||
job = db_session.query(Job).filter_by(id=guest_request.job_id).first()
|
||||
if job:
|
||||
db_session.delete(job)
|
||||
|
||||
# Gastanfrage löschen
|
||||
db_session.delete(guest_request)
|
||||
db_session.commit()
|
||||
|
||||
logger.info(f"Gastanfrage {request_id} gelöscht von Admin {current_user.id} ({current_user.username})")
|
||||
|
||||
return jsonify({
|
||||
"success": True,
|
||||
"message": "Anfrage erfolgreich gelöscht",
|
||||
"deleted_by": current_user.username,
|
||||
"deleted_at": datetime.now().isoformat()
|
||||
})
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Fehler beim Löschen der Gastanfrage: {str(e)}")
|
||||
return jsonify({"error": "Fehler beim Verarbeiten der Anfrage"}), 500
|
||||
|
||||
# Admin-Routen
|
||||
@guest_blueprint.route('/admin/requests', methods=['GET'])
|
||||
@approver_required
|
||||
|
Reference in New Issue
Block a user