from flask import jsonify, redirect, request, url_for from werkzeug.wrappers import Response import db from core.flask_app import app @app.route("/game//variables//edit", methods=["POST"]) def global_var_edit(slug: str, var_id: int) -> Response: """Enregistrement en AJAX (voir static/js/scenes/global-variables.js) — demande explicite : modifier/supprimer une variable ne doit plus recharger toute la page. Redirection classique conservée en secours pour tout appelant non-JS (même patron que scene_object_add.py).""" var_type = request.form.get("type") or "texte" value = request.form.get("value") or "" screen_id = request.form.get("screen_id", type=int) db.update_global_variable(slug, var_id, var_type, value) if request.headers.get("X-Requested-With") == "fetch": return jsonify({"ok": True}) if screen_id: return redirect(url_for("screen_edit", slug=slug, screen_id=screen_id, tab="variables")) return redirect(url_for("game_dashboard", slug=slug))