Пример #1
0
 def __call__(self, field: TreeField, **kwargs: Any) -> TreeMultiSelect:
     data: list[int] = []
     if field.data:
         data = ast.literal_eval(field.data) \
             if isinstance(field.data, str) else field.data
     return super().__call__(field, **kwargs) + render_template(
         'forms/tree_multi_select.html',
         field=field,
         root=g.types[int(field.id)],
         selection=sorted([g.types[id_].name for id_ in data]),
         data=Type.get_tree_data(int(field.id), data))
Пример #2
0
 def __call__(self, field: TreeField, **kwargs: Any) -> TreeSelect:
     selection = ''
     selected_ids = []
     if field.data:
         field.data = field.data[0] \
             if isinstance(field.data, list) else field.data
         selection = g.types[int(field.data)].name
         selected_ids.append(g.types[int(field.data)].id)
     return super().__call__(field, **kwargs) + render_template(
         'forms/tree_select.html',
         field=field,
         selection=selection,
         data=Type.get_tree_data(int(field.id), selected_ids))