from flask import request, redirect, url_for import screens from core.flask_app import app @app.route("/game//screens//elements/add", methods=["POST"]) def element_add(slug, screen_id): widget = request.form.get("widget", "conteneur") from_catalogue = widget == "__catalogue__" element_type_id = request.form.get("element_type_id") or None if from_catalogue else None if from_catalogue and not element_type_id: return redirect(url_for("screen_edit", slug=slug, screen_id=screen_id)) if from_catalogue: types = {t["id"]: t for t in screens.list_element_types(slug)} et = types.get(int(element_type_id)) widget = et["default_widget"] if et else "conteneur" new_id = screens.add_element(slug, screen_id, widget, element_type_id) return redirect(url_for("screen_edit", slug=slug, screen_id=screen_id, selected=new_id))