diff --git a/frappe/__version__.py b/frappe/__version__.py index ecbf2c39da..b84af05d0f 100644 --- a/frappe/__version__.py +++ b/frappe/__version__.py @@ -1,2 +1,2 @@ from __future__ import unicode_literals -__version__ = "6.12.2" +__version__ = "6.12.3" diff --git a/frappe/commands.py b/frappe/commands.py index d5bd38575e..cf2ebec80a 100644 --- a/frappe/commands.py +++ b/frappe/commands.py @@ -407,7 +407,7 @@ def write_docs(context, app, target, local=False): @click.option('--watch', default=False, is_flag=True, help='Watch for changes and rewrite') def build_docs(context, app, docs_version, target, local=False, watch=False): "Setup docs in target folder of target app" - from frappe.utils import watch + from frappe.utils import watch as start_watch for site in context.sites: _build_docs_once(site, app, docs_version, target, local) @@ -422,7 +422,7 @@ def build_docs(context, app, docs_version, target, local=False, watch=False): _build_docs_once(site, app, docs_version, target, local, only_content_updated=True) apps_path = frappe.get_app_path("frappe", "..", "..") - watch(apps_path, handler=trigger_make) + start_watch(apps_path, handler=trigger_make) def _build_docs_once(site, app, docs_version, target, local, only_content_updated=False): from frappe.utils.setup_docs import setup_docs diff --git a/frappe/config/docs.py b/frappe/config/docs.py index b673702251..dbda047d5f 100644 --- a/frappe/config/docs.py +++ b/frappe/config/docs.py @@ -2,7 +2,7 @@ source_link = "https://github.com/frappe/frappe" docs_base_url = "https://frappe.github.io/frappe" headline = "Superhero Web Framework" -sub_heading = "Build extensions to ERPNext or make your own database driven app" +sub_heading = "Build extensions to ERPNext or make your own app" hide_install = True long_description = """Frappe is a full stack web application framework written in Python, Javascript, HTML/CSS with MySQL as the backend. It was built for ERPNext @@ -19,14 +19,10 @@ to ERPNext. Frappe Framework was designed to build [ERPNext](https://erpnext.com), open source ERP for managing small and medium sized businesses. -""" -style = """ -.splash .jumbotron h1 { - font-weight: 200; - font-size: 48px; -} +[Get started with the Tutorial](https://github.frappe.io/frappe/user/tutorial) """ +docs_version = "6.x.x" def get_context(context): pass diff --git a/frappe/desk/query_report.py b/frappe/desk/query_report.py index 5236fd8a27..5c0be7127a 100644 --- a/frappe/desk/query_report.py +++ b/frappe/desk/query_report.py @@ -234,8 +234,21 @@ def get_linked_doctypes(columns, data): linked_doctypes[df["options"]] = df["fieldname"] # remove doctype if column is empty + columns_with_value = [] + for row in data: + if row: + if len(row) != len(columns_with_value): + if isinstance(row, list): + row = enumerate(row) + elif isinstance(row, dict): + row = row.items() + + for col, val in row: + if val and col not in columns_with_value: + columns_with_value.append(col) + for doctype, key in linked_doctypes.items(): - if not any(d[key] for d in data if d): + if key not in columns_with_value: del linked_doctypes[doctype] return linked_doctypes diff --git a/frappe/docs/current/api/config/frappe.config.core.html b/frappe/docs/current/api/config/frappe.config.core.html new file mode 100644 index 0000000000..076ab88375 --- /dev/null +++ b/frappe/docs/current/api/config/frappe.config.core.html @@ -0,0 +1,34 @@ +
+ + + frappe.config.core.get_data + () +
+No docs
+No docs
get email id of user formatted as: John Doe johndoe@example.com
+get email id of user formatted as: John Doe johndoe@example.com
+ 6.12.2