21 lines
884 B
Python
21 lines
884 B
Python
from flask import redirect, url_for, abort
|
|
|
|
import db
|
|
|
|
from core.flask_app import app
|
|
|
|
|
|
@app.route("/game/<slug>/objects/<int:definition_id>/data/<int:row_id>/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))
|