from flask import redirect, url_for, abort import db from core.flask_app import app @app.route("/game//objects//data//delete", methods=["POST"]) def data_delete(slug, definition_id, row_id): definition = db.get_definition(slug, definition_id) if not definition: abort(404) referencing = db.rows_referencing(slug, definition_id, row_id) if referencing: # Suppression bloquée : d'autres lignes pointent vers celle-ci via # une relation. On revient à la liste, qui explique pourquoi via un # paramètre de requête simple plutôt qu'une session/flash message. return redirect(url_for("object_view", slug=slug, definition_id=definition_id, blocked_row=row_id)) db.delete_row(slug, definition, row_id) return redirect(url_for("object_view", slug=slug, definition_id=definition_id))