first commit
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
from flask import request, redirect, url_for, abort
|
||||
|
||||
import screens
|
||||
|
||||
from core.flask_app import app
|
||||
|
||||
|
||||
@app.route("/game/<slug>/elements/<int:parent_id>/children/add", methods=["POST"])
|
||||
def element_add_child(slug, parent_id):
|
||||
"""Ajoute un élément PHYSIQUEMENT à l'intérieur d'un conteneur, d'un
|
||||
répéteur de données ou d'un groupe de champs déjà posé sur l'écran."""
|
||||
parent = screens.get_element(slug, parent_id)
|
||||
if not parent:
|
||||
abort(404)
|
||||
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 element_type_id:
|
||||
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"
|
||||
elif from_catalogue:
|
||||
return redirect(url_for("screen_edit", slug=slug, screen_id=parent["screen_id"], selected=parent_id))
|
||||
new_id = screens.add_element(slug, parent["screen_id"], widget, element_type_id, parent_id=parent_id)
|
||||
return redirect(url_for("screen_edit", slug=slug, screen_id=parent["screen_id"], selected=new_id))
|
||||
Reference in New Issue
Block a user