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 au panneau de cet objet (onglet # Données), qui explique pourquoi via un paramètre de requête # simple plutôt qu'une session/flash message. return redirect(url_for("game_dashboard", slug=slug, tab="objects", edit=definition_id, subtab="data", blocked_row=row_id)) db.delete_row(slug, definition, row_id) return redirect(url_for("game_dashboard", slug=slug, tab="objects", edit=definition_id, subtab="data"))