diff --git a/panoramix/templates/appbuilder/general/widgets/list.html b/panoramix/templates/appbuilder/general/widgets/list.html new file mode 100644 index 0000000000..19273e359a --- /dev/null +++ b/panoramix/templates/appbuilder/general/widgets/list.html @@ -0,0 +1,81 @@ +{% import 'appbuilder/general/lib.html' as lib %} +{% extends 'appbuilder/general/widgets/base_list.html' %} + + + {% block begin_content scoped %} +
+ + {% endblock %} + + {% block begin_loop_header scoped %} + + + {% if actions %} + + {% endif %} + + {% if can_show or can_edit or can_delete %} + + {% endif %} + + {% for item in include_columns %} + {% if item in order_columns %} + {% set res = item | get_link_order(modelview_name) %} + {% if res == 2 %} + + {% elif res == 1 %} + + {% else %} + + {% endif %} + {% else %} + + {% endif %} + {% endfor %} + + + {% endblock %} + + {% block begin_loop_values %} + {% for item in value_columns %} + {% set pk = pks[loop.index-1] %} + + {% if actions %} + + {% endif %} + {% if can_show or can_edit or can_delete %} + + {% endif %} + {% for value in include_columns %} + + {% endfor %} + + {% endfor %} + {% endblock %} + + {% block end_content scoped %} +
+ + {{label_columns.get(item)}} + {{label_columns.get(item)}} + {{label_columns.get(item)}} + {{label_columns.get(item)}}
+ +
+ {{ lib.btn_crud(can_show, can_edit, can_delete, pk, modelview_name, filters) }} +
+ {% if item[value].__class__.__name__ == 'bool' %} + + {% else %} + {{ item[value]|safe }} + {% endif %} +
+
+ {% endblock %} + diff --git a/panoramix/views.py b/panoramix/views.py index 4f679f17e6..2e5db45794 100644 --- a/panoramix/views.py +++ b/panoramix/views.py @@ -418,6 +418,22 @@ class Panoramix(BaseView): mimetype="application/json") return resp + @has_access + @expose("/checkbox////", methods=['GET']) + def checkbox(self, model_view, id_, attr, value): + model = None + if model_view == 'TableColumnInlineView': + model = models.TableColumn + elif model_view == 'ColumnInlineView': + model = models.Column + + obj = db.session.query(model).filter_by(id=id_).first() + if obj: + setattr(obj, attr, value=='true') + db.session.commit() + return Response("OK", mimetype="application/json") + + @has_access @expose("/save_dash//", methods=['GET', 'POST']) def save_dash(self, dashboard_id):