diff --git a/frappe/core/doctype/customize_form/customize_form.json b/frappe/core/doctype/customize_form/customize_form.json
index 5db77d1bbf..a95988f208 100644
--- a/frappe/core/doctype/customize_form/customize_form.json
+++ b/frappe/core/doctype/customize_form/customize_form.json
@@ -1,6 +1,6 @@
{
"autoname": "DL.####",
- "creation": "2013-01-29 17:55:08.000000",
+ "creation": "2013-01-29 17:55:08",
"docstatus": 0,
"doctype": "DocType",
"fields": [
@@ -8,6 +8,7 @@
"fieldname": "doc_type",
"fieldtype": "Link",
"hidden": 0,
+ "in_list_view": 1,
"label": "Enter Form Type",
"no_copy": 0,
"options": "DocType",
@@ -25,23 +26,37 @@
"fieldtype": "Column Break",
"permlevel": 0
},
+ {
+ "fieldname": "default_print_format",
+ "fieldtype": "Link",
+ "in_list_view": 1,
+ "label": "Default Print Format",
+ "no_copy": 0,
+ "options": "Print Format",
+ "permlevel": 0,
+ "search_index": 0
+ },
{
"description": "Fields separated by comma (,) will be included in the
Search By list of Search dialog box",
"fieldname": "search_fields",
"fieldtype": "Data",
+ "in_list_view": 1,
"label": "Search Fields",
"no_copy": 0,
"permlevel": 0,
"search_index": 0
},
{
- "fieldname": "default_print_format",
- "fieldtype": "Link",
- "label": "Default Print Format",
- "no_copy": 0,
- "options": "Print Format",
- "permlevel": 0,
- "search_index": 0
+ "fieldname": "sort_field",
+ "fieldtype": "Data",
+ "label": "Sort Field",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "sort_order",
+ "fieldtype": "Data",
+ "label": "Sort Order",
+ "permlevel": 0
},
{
"fieldname": "column_break1",
@@ -111,7 +126,7 @@
"icon": "icon-glass",
"idx": 1,
"issingle": 1,
- "modified": "2014-01-15 16:16:22.000000",
+ "modified": "2014-05-08 09:27:44.167026",
"modified_by": "Administrator",
"module": "Core",
"name": "Customize Form",
diff --git a/frappe/core/doctype/customize_form/customize_form.py b/frappe/core/doctype/customize_form/customize_form.py
index 0af80da2fd..0e0eefdcfa 100644
--- a/frappe/core/doctype/customize_form/customize_form.py
+++ b/frappe/core/doctype/customize_form/customize_form.py
@@ -14,6 +14,8 @@ from frappe.core.doctype.doctype.doctype import validate_fields_for_doctype
class CustomizeForm(Document):
doctype_properties = {
'search_fields': 'Data',
+ 'sort_field': 'Data',
+ 'sort_order': 'Data',
'default_print_format': 'Data',
'read_only_onload': 'Check',
'allow_attach': 'Check',
diff --git a/frappe/core/doctype/doctype/doctype.json b/frappe/core/doctype/doctype/doctype.json
index 9b89f80b18..646600a471 100644
--- a/frappe/core/doctype/doctype/doctype.json
+++ b/frappe/core/doctype/doctype/doctype.json
@@ -138,6 +138,17 @@
"options": "\nTitle Case\nUPPER CASE",
"permlevel": 0
},
+ {
+ "fieldname": "description",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "label": "Description",
+ "oldfieldname": "description",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "reqd": 0,
+ "search_index": 0
+ },
{
"fieldname": "column_break_15",
"fieldtype": "Column Break",
@@ -162,15 +173,20 @@
"search_index": 0
},
{
- "fieldname": "description",
- "fieldtype": "Small Text",
- "hidden": 0,
- "label": "Description",
- "oldfieldname": "description",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "reqd": 0,
- "search_index": 0
+ "default": "modified",
+ "description": "",
+ "fieldname": "sort_field",
+ "fieldtype": "Data",
+ "label": "Sort Field",
+ "permlevel": 0
+ },
+ {
+ "default": "DESC",
+ "fieldname": "sort_order",
+ "fieldtype": "Select",
+ "label": "Sort Order",
+ "options": "ASC\nDESC",
+ "permlevel": 0
},
{
"depends_on": "eval:!doc.istable",
@@ -329,7 +345,7 @@
"idx": 1,
"issingle": 0,
"istable": 0,
- "modified": "2014-05-01 05:27:22.582492",
+ "modified": "2014-05-08 09:23:56.952829",
"modified_by": "Administrator",
"module": "Core",
"name": "DocType",
@@ -361,5 +377,7 @@
}
],
"read_only": 0,
- "search_fields": "module"
+ "search_fields": "module",
+ "sort_field": "name",
+ "sort_order": "ASC"
}
\ No newline at end of file
diff --git a/frappe/data/Framework.sql b/frappe/data/Framework.sql
index f6055f257c..819b22b4a9 100644
--- a/frappe/data/Framework.sql
+++ b/frappe/data/Framework.sql
@@ -8,21 +8,21 @@
DROP TABLE IF EXISTS `tabDocField`;
CREATE TABLE `tabDocField` (
- `name` varchar(120) NOT NULL,
+ `name` varchar(255) NOT NULL,
`creation` datetime(6) DEFAULT NULL,
`modified` datetime(6) DEFAULT NULL,
- `modified_by` varchar(40) DEFAULT NULL,
- `owner` varchar(40) DEFAULT NULL,
+ `modified_by` varchar(255) DEFAULT NULL,
+ `owner` varchar(255) DEFAULT NULL,
`docstatus` int(1) DEFAULT '0',
- `parent` varchar(120) DEFAULT NULL,
- `parentfield` varchar(120) DEFAULT NULL,
- `parenttype` varchar(120) DEFAULT NULL,
+ `parent` varchar(255) DEFAULT NULL,
+ `parentfield` varchar(255) DEFAULT NULL,
+ `parenttype` varchar(255) DEFAULT NULL,
`idx` int(8) DEFAULT NULL,
- `fieldname` varchar(180) DEFAULT NULL,
- `label` varchar(180) DEFAULT NULL,
- `oldfieldname` varchar(180) DEFAULT NULL,
- `fieldtype` varchar(180) DEFAULT NULL,
- `oldfieldtype` varchar(180) DEFAULT NULL,
+ `fieldname` varchar(255) DEFAULT NULL,
+ `label` varchar(255) DEFAULT NULL,
+ `oldfieldname` varchar(255) DEFAULT NULL,
+ `fieldtype` varchar(255) DEFAULT NULL,
+ `oldfieldtype` varchar(255) DEFAULT NULL,
`options` text,
`search_index` int(1) DEFAULT NULL,
`hidden` int(1) DEFAULT NULL,
@@ -32,12 +32,12 @@ CREATE TABLE `tabDocField` (
`reqd` int(1) DEFAULT NULL,
`no_copy` int(1) DEFAULT NULL,
`allow_on_submit` int(1) DEFAULT NULL,
- `trigger` varchar(180) DEFAULT NULL,
- `depends_on` varchar(180) DEFAULT NULL,
+ `trigger` varchar(255) DEFAULT NULL,
+ `depends_on` varchar(255) DEFAULT NULL,
`permlevel` int(11) DEFAULT '0',
`ignore_restrictions` int(1) DEFAULT NULL,
- `width` varchar(180) DEFAULT NULL,
- `print_width` varchar(180) DEFAULT NULL,
+ `width` varchar(255) DEFAULT NULL,
+ `print_width` varchar(255) DEFAULT NULL,
`default` text,
`description` text,
`in_filter` int(1) DEFAULT NULL,
@@ -57,22 +57,22 @@ CREATE TABLE `tabDocField` (
--
DROP TABLE IF EXISTS `tabDocPerm`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
+/*!255101 SET @saved_cs_client = @@character_set_client */;
+/*!255101 SET character_set_client = utf8 */;
CREATE TABLE `tabDocPerm` (
- `name` varchar(120) NOT NULL,
+ `name` varchar(255) NOT NULL,
`creation` datetime(6) DEFAULT NULL,
`modified` datetime(6) DEFAULT NULL,
- `modified_by` varchar(40) DEFAULT NULL,
- `owner` varchar(40) DEFAULT NULL,
+ `modified_by` varchar(255) DEFAULT NULL,
+ `owner` varchar(255) DEFAULT NULL,
`docstatus` int(1) DEFAULT '0',
- `parent` varchar(120) DEFAULT NULL,
- `parentfield` varchar(120) DEFAULT NULL,
- `parenttype` varchar(120) DEFAULT NULL,
+ `parent` varchar(255) DEFAULT NULL,
+ `parentfield` varchar(255) DEFAULT NULL,
+ `parenttype` varchar(255) DEFAULT NULL,
`idx` int(8) DEFAULT NULL,
`permlevel` int(11) DEFAULT '0',
- `role` varchar(180) DEFAULT NULL,
- `match` varchar(180) DEFAULT NULL,
+ `role` varchar(255) DEFAULT NULL,
+ `match` varchar(255) DEFAULT NULL,
`read` int(1) DEFAULT NULL,
`write` int(1) DEFAULT NULL,
`create` int(1) DEFAULT NULL,
@@ -89,43 +89,45 @@ CREATE TABLE `tabDocPerm` (
PRIMARY KEY (`name`),
KEY `parent` (`parent`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
+/*!255101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `tabDocType`
--
DROP TABLE IF EXISTS `tabDocType`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
+/*!255101 SET @saved_cs_client = @@character_set_client */;
+/*!255101 SET character_set_client = utf8 */;
CREATE TABLE `tabDocType` (
- `name` varchar(180) NOT NULL DEFAULT '',
+ `name` varchar(255) NOT NULL DEFAULT '',
`creation` datetime(6) DEFAULT NULL,
`modified` datetime(6) DEFAULT NULL,
- `modified_by` varchar(40) DEFAULT NULL,
- `owner` varchar(180) DEFAULT NULL,
+ `modified_by` varchar(255) DEFAULT NULL,
+ `owner` varchar(255) DEFAULT NULL,
`docstatus` int(1) DEFAULT '0',
- `parent` varchar(120) DEFAULT NULL,
- `parentfield` varchar(120) DEFAULT NULL,
- `parenttype` varchar(120) DEFAULT NULL,
+ `parent` varchar(255) DEFAULT NULL,
+ `parentfield` varchar(255) DEFAULT NULL,
+ `parenttype` varchar(255) DEFAULT NULL,
`idx` int(8) DEFAULT NULL,
- `search_fields` varchar(180) DEFAULT NULL,
+ `search_fields` varchar(255) DEFAULT NULL,
`issingle` int(1) DEFAULT NULL,
`istable` int(1) DEFAULT NULL,
`version` int(11) DEFAULT NULL,
- `module` varchar(180) DEFAULT NULL,
- `plugin` varchar(180) DEFAULT NULL,
- `autoname` varchar(180) DEFAULT NULL,
- `name_case` varchar(180) DEFAULT NULL,
- `title_field` varchar(180) DEFAULT NULL,
+ `module` varchar(255) DEFAULT NULL,
+ `plugin` varchar(255) DEFAULT NULL,
+ `autoname` varchar(255) DEFAULT NULL,
+ `name_case` varchar(255) DEFAULT NULL,
+ `title_field` varchar(255) DEFAULT NULL,
+ `sort_field` varchar(255) DEFAULT NULL,
+ `sort_order` varchar(255) DEFAULT NULL,
`description` text,
- `colour` varchar(180) DEFAULT NULL,
+ `colour` varchar(255) DEFAULT NULL,
`read_only` int(1) DEFAULT NULL,
`in_create` int(1) DEFAULT NULL,
`show_in_menu` int(1) DEFAULT NULL,
`menu_index` int(11) DEFAULT NULL,
- `parent_node` varchar(180) DEFAULT NULL,
- `smallicon` varchar(180) DEFAULT NULL,
+ `parent_node` varchar(255) DEFAULT NULL,
+ `smallicon` varchar(255) DEFAULT NULL,
`allow_print` int(1) DEFAULT NULL,
`allow_email` int(1) DEFAULT NULL,
`allow_copy` int(1) DEFAULT NULL,
@@ -136,47 +138,37 @@ CREATE TABLE `tabDocType` (
`allow_attach` int(1) DEFAULT NULL,
`use_template` int(1) DEFAULT NULL,
`max_attachments` int(11) DEFAULT NULL,
- `section_style` varchar(180) DEFAULT NULL,
- `client_script` mediumtext,
- `client_script_core` mediumtext,
- `server_code` mediumtext,
- `server_code_core` mediumtext,
- `server_code_compiled` mediumtext,
- `client_string` mediumtext,
- `server_code_error` varchar(180) DEFAULT NULL,
- `print_outline` varchar(180) DEFAULT NULL,
- `dt_template` mediumtext,
+ `print_outline` varchar(255) DEFAULT NULL,
`is_transaction_doc` int(1) DEFAULT NULL,
- `change_log` mediumtext,
`read_only_onload` int(1) DEFAULT NULL,
`allow_trash` int(1) DEFAULT NULL,
`in_dialog` int(1) DEFAULT NULL,
- `document_type` varchar(180) DEFAULT NULL,
- `icon` varchar(180) DEFAULT NULL,
- `tag_fields` varchar(180) DEFAULT NULL,
- `subject` varchar(180) DEFAULT NULL,
+ `document_type` varchar(255) DEFAULT NULL,
+ `icon` varchar(255) DEFAULT NULL,
+ `tag_fields` varchar(255) DEFAULT NULL,
+ `subject` varchar(255) DEFAULT NULL,
`_last_update` varchar(32) DEFAULT NULL,
- `default_print_format` varchar(180) DEFAULT NULL,
+ `default_print_format` varchar(255) DEFAULT NULL,
`is_submittable` int(1) DEFAULT NULL,
- `_user_tags` varchar(180) DEFAULT NULL,
+ `_user_tags` varchar(255) DEFAULT NULL,
`custom` int(1) DEFAULT NULL,
PRIMARY KEY (`name`),
KEY `parent` (`parent`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
+/*!255101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `tabSeries`
--
DROP TABLE IF EXISTS `tabSeries`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
+/*!255101 SET @saved_cs_client = @@character_set_client */;
+/*!255101 SET character_set_client = utf8 */;
CREATE TABLE `tabSeries` (
`name` varchar(100) DEFAULT NULL,
`current` int(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
+/*!255101 SET character_set_client = @saved_cs_client */;
--
@@ -184,18 +176,18 @@ CREATE TABLE `tabSeries` (
--
DROP TABLE IF EXISTS `tabSessions`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
+/*!255101 SET @saved_cs_client = @@character_set_client */;
+/*!255101 SET character_set_client = utf8 */;
CREATE TABLE `tabSessions` (
`user` varchar(255) DEFAULT NULL,
- `sid` varchar(120) DEFAULT NULL,
+ `sid` varchar(255) DEFAULT NULL,
`sessiondata` longtext,
`ipaddress` varchar(16) DEFAULT NULL,
`lastupdate` datetime(6) DEFAULT NULL,
`status` varchar(20) DEFAULT NULL,
KEY `sid` (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
+/*!255101 SET character_set_client = @saved_cs_client */;
--
@@ -203,11 +195,11 @@ CREATE TABLE `tabSessions` (
--
DROP TABLE IF EXISTS `tabSingles`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
+/*!255101 SET @saved_cs_client = @@character_set_client */;
+/*!255101 SET character_set_client = utf8 */;
CREATE TABLE `tabSingles` (
- `doctype` varchar(40) DEFAULT NULL,
- `field` varchar(40) DEFAULT NULL,
+ `doctype` varchar(255) DEFAULT NULL,
+ `field` varchar(255) DEFAULT NULL,
`value` text,
KEY `singles_doctype_field_index` (`doctype`, `field`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -217,11 +209,11 @@ CREATE TABLE `tabSingles` (
--
DROP TABLE IF EXISTS `__Auth`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
+/*!255101 SET @saved_cs_client = @@character_set_client */;
+/*!255101 SET character_set_client = utf8 */;
CREATE TABLE `__Auth` (
- `user` VARCHAR(180) NOT NULL PRIMARY KEY,
- `password` VARCHAR(180) NOT NULL,
+ `user` VARCHAR(255) NOT NULL PRIMARY KEY,
+ `password` VARCHAR(255) NOT NULL,
KEY `user` (`user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -231,22 +223,22 @@ CREATE TABLE `__Auth` (
DROP TABLE IF EXISTS `tabFile Data`;
CREATE TABLE `tabFile Data` (
- `name` varchar(120) NOT NULL,
+ `name` varchar(255) NOT NULL,
`creation` datetime(6) DEFAULT NULL,
`modified` datetime(6) DEFAULT NULL,
- `modified_by` varchar(40) DEFAULT NULL,
- `owner` varchar(40) DEFAULT NULL,
+ `modified_by` varchar(255) DEFAULT NULL,
+ `owner` varchar(255) DEFAULT NULL,
`docstatus` int(1) DEFAULT '0',
- `parent` varchar(120) DEFAULT NULL,
- `parentfield` varchar(120) DEFAULT NULL,
- `parenttype` varchar(120) DEFAULT NULL,
+ `parent` varchar(255) DEFAULT NULL,
+ `parentfield` varchar(255) DEFAULT NULL,
+ `parenttype` varchar(255) DEFAULT NULL,
`idx` int(8) DEFAULT NULL,
- `file_name` varchar(180) DEFAULT NULL,
- `file_url` varchar(180) DEFAULT NULL,
- `module` varchar(180) DEFAULT NULL,
- `attached_to_name` varchar(180) DEFAULT NULL,
+ `file_name` varchar(255) DEFAULT NULL,
+ `file_url` varchar(255) DEFAULT NULL,
+ `module` varchar(255) DEFAULT NULL,
+ `attached_to_name` varchar(255) DEFAULT NULL,
`file_size` int(11) DEFAULT NULL,
- `attached_to_doctype` varchar(180) DEFAULT NULL,
+ `attached_to_doctype` varchar(255) DEFAULT NULL,
PRIMARY KEY (`name`),
KEY `parent` (`parent`),
KEY `attached_to_name` (`attached_to_name`),
@@ -259,18 +251,18 @@ CREATE TABLE `tabFile Data` (
DROP TABLE IF EXISTS `tabDefaultValue`;
CREATE TABLE `tabDefaultValue` (
- `name` varchar(120) NOT NULL,
+ `name` varchar(255) NOT NULL,
`creation` datetime(6) DEFAULT NULL,
`modified` datetime(6) DEFAULT NULL,
- `modified_by` varchar(40) DEFAULT NULL,
- `owner` varchar(40) DEFAULT NULL,
+ `modified_by` varchar(255) DEFAULT NULL,
+ `owner` varchar(255) DEFAULT NULL,
`docstatus` int(1) DEFAULT '0',
- `parent` varchar(120) DEFAULT NULL,
- `parentfield` varchar(120) DEFAULT NULL,
- `parenttype` varchar(120) DEFAULT NULL,
+ `parent` varchar(255) DEFAULT NULL,
+ `parentfield` varchar(255) DEFAULT NULL,
+ `parenttype` varchar(255) DEFAULT NULL,
`idx` int(8) DEFAULT NULL,
`defvalue` text,
- `defkey` varchar(180) DEFAULT NULL,
+ `defkey` varchar(255) DEFAULT NULL,
PRIMARY KEY (`name`),
KEY `parent` (`parent`),
KEY `defaultvalue_parent_defkey_index` (`parent`,`defkey`)
diff --git a/frappe/model/db_query.py b/frappe/model/db_query.py
index db18b021f5..da49f92fde 100644
--- a/frappe/model/db_query.py
+++ b/frappe/model/db_query.py
@@ -74,7 +74,8 @@ class DatabaseQuery(object):
args.conditions = ' and '.join(self.conditions)
args.fields = ', '.join(self.fields)
- args.order_by = self.order_by or self.tables[0] + '.modified desc'
+ self.set_order_by(args)
+
args.group_by = self.group_by and (" group by " + self.group_by) or ""
self.check_sort_by_table(args.order_by)
@@ -279,6 +280,14 @@ class DatabaseQuery(object):
query = query.replace('%(key)s', 'name')
return frappe.db.sql(query, as_dict = (not self.as_list))
+ def set_order_by(self, args):
+ meta = frappe.get_meta(self.doctype)
+ if self.order_by:
+ args.order_by = self.order_by
+ else:
+ args.order_by = "`tab{0}`.`{1}` {2}".format(self.doctype,
+ meta.sort_field or "modified", meta.sort_order or "desc")
+
def check_sort_by_table(self, order_by):
if "." in order_by:
tbl = order_by.split('.')[0]
diff --git a/frappe/model/meta.py b/frappe/model/meta.py
index f4f2c099a8..b40097ea43 100644
--- a/frappe/model/meta.py
+++ b/frappe/model/meta.py
@@ -99,6 +99,21 @@ class Meta(Document):
def get_options(self, fieldname):
return self.get_field(fieldname).options
+ def get_search_fields(self):
+ search_fields = self.search_fields or "name"
+ search_fields = [d.strip() for d in search_fields.split(",")]
+ if "name" not in search_fields:
+ search_fields.append("name")
+
+ return search_fields
+
+ def get_list_fields(self):
+ list_fields = ["name"] + [d.fieldname \
+ for d in self.fields if (d.in_list_view and d.fieldtype in type_map)]
+ if self.title_field and self.title_field not in list_fields:
+ list_fields.append(self.title_field)
+ return list_fields
+
def process(self):
# don't process for special doctypes
# prevent's circular dependency
@@ -203,7 +218,7 @@ doctype_table_fields = [
def is_single(doctype):
try:
return frappe.db.get_value("DocType", doctype, "issingle")
- except IndexError, e:
+ except IndexError:
raise Exception, 'Cannot determine whether %s is single' % doctype
def get_parent_dt(dt):
diff --git a/frappe/sessions.py b/frappe/sessions.py
index 48e02f3eec..5a714fe9da 100644
--- a/frappe/sessions.py
+++ b/frappe/sessions.py
@@ -32,7 +32,7 @@ def clear_cache(user=None):
"time_zone"])
def delete_user_cache(user):
- for key in ("bootinfo", "lang", "roles", "restrictions"):
+ for key in ("bootinfo", "lang", "roles", "restrictions", "home_page"):
cache.delete_value(key + ":" + user)
def clear_notifications(user=None):
diff --git a/frappe/templates/pages/list.html b/frappe/templates/pages/list.html
new file mode 100644
index 0000000000..11a5b15512
--- /dev/null
+++ b/frappe/templates/pages/list.html
@@ -0,0 +1,84 @@
+{% block title %}{{ type }} {{ _("List") }}{% endblock %}
+
+{% block header %}
+
{{ doc.doctype }} {{ _("List") }}
+{% endblock %} + +{% block content %} +{% if custom_view %} +{{ custom_view }} +{% else %} + +{% macro print_value(df, d, meta) -%} + {% if df.fieldtype=="Check" %} + + {% elif df.fieldtype=="Image" %} +| Sr | + {% for tdf in table_meta.fields %} + {% if tdf.fieldtype not in ("Column Break", "Section Break") + and tdf.label %} ++ {{ tdf.label }} | + {% endif %} + {% endfor %} +
|---|---|
| {{ d.idx }} | + {% for tdf in table_meta.fields %} + {% if tdf.fieldtype not in ("Column Break", "Section Break") %} +{{ print_value(tdf, d, table_meta) }} | + {% endif %} + {% endfor %} +