21 lines
900 B
Python
21 lines
900 B
Python
from flask import request, redirect, url_for
|
|
|
|
import screens
|
|
|
|
from core.flask_app import app
|
|
|
|
|
|
@app.route("/game/<slug>/screens/<int:screen_id>/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))
|