diff --git a/frappe/public/css/form.css b/frappe/public/css/form.css index 734303242f..9193e1ee3b 100644 --- a/frappe/public/css/form.css +++ b/frappe/public/css/form.css @@ -80,7 +80,6 @@ } .form-dashboard-section { padding: 15px 30px; - margin: 0px; border-bottom: 1px solid #EBEFF2; } .form-dashboard-section:last-child { diff --git a/frappe/public/js/frappe/form/control.js b/frappe/public/js/frappe/form/control.js index 53321a2de2..3cb79dc842 100644 --- a/frappe/public/js/frappe/form/control.js +++ b/frappe/public/js/frappe/form/control.js @@ -1361,13 +1361,29 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({ if(this.get_query || this.df.get_query) { var get_query = this.get_query || this.df.get_query; if($.isPlainObject(get_query)) { - var filters = set_nulls(get_query); + var filters = null; + if(get_query.filters) { + // passed as {'filters': {'key':'value'}} + filters = get_query.filters; + } else if(get_query.query) { + + // passed as {'query': 'path.to.method'} + args.query = get_query; + } else { + + // dict is filters + filters = get_query; + } - // extend args for custom functions - $.extend(args, filters); + if (filters) { + var filters = set_nulls(filters); - // add "filters" for standard query (search.py) - args.filters = filters; + // extend args for custom functions + $.extend(args, filters); + + // add "filters" for standard query (search.py) + args.filters = filters; + } } else if(typeof(get_query)==="string") { args.query = get_query; } else { diff --git a/frappe/public/js/frappe/form/dashboard.js b/frappe/public/js/frappe/form/dashboard.js index d604c6a09d..b2fbe2e915 100644 --- a/frappe/public/js/frappe/form/dashboard.js +++ b/frappe/public/js/frappe/form/dashboard.js @@ -344,8 +344,22 @@ frappe.ui.form.Dashboard = Class.extend({ add_indicator: function(label, color) { this.show(); this.stats_area.removeClass('hidden'); - return $('