|
|
@@ -706,20 +706,31 @@ wn.ui.form.ControlLink = wn.ui.form.ControlData.extend({ |
|
|
|
this.$wrapper.find(".ui-helper-hidden-accessible").remove(); |
|
|
|
}, |
|
|
|
set_custom_query: function(args) { |
|
|
|
var set_nulls = function(obj) { |
|
|
|
$.each(obj, function(key, value) { |
|
|
|
if(value!==undefined) { |
|
|
|
obj[key] = value || null; |
|
|
|
} |
|
|
|
}); |
|
|
|
return obj; |
|
|
|
} |
|
|
|
if(this.get_query || this.df.get_query) { |
|
|
|
var q = (this.get_query || this.df.get_query)(this.frm && this.frm.doc, this.doctype, this.docname); |
|
|
|
|
|
|
|
if (typeof(q)==="string") { |
|
|
|
args.query = q; |
|
|
|
} else if($.isPlainObject(q)) { |
|
|
|
if(q.filters) { |
|
|
|
$.each(q.filters, function(key, value) { |
|
|
|
if(value!==undefined) { |
|
|
|
q.filters[key] = value || null; |
|
|
|
} |
|
|
|
}); |
|
|
|
var get_query = this.get_query || this.df.get_query; |
|
|
|
if($.isPlainObject(get_query)) { |
|
|
|
$.extend(args, set_nulls(get_query)); |
|
|
|
} else if(typeof(get_query)==="string") { |
|
|
|
args.query = get_query; |
|
|
|
} else { |
|
|
|
var q = (get_query)(this.frm && this.frm.doc, this.doctype, this.docname); |
|
|
|
|
|
|
|
if (typeof(q)==="string") { |
|
|
|
args.query = q; |
|
|
|
} else if($.isPlainObject(q)) { |
|
|
|
if(q.filters) { |
|
|
|
set_nulls(q.filters); |
|
|
|
} |
|
|
|
$.extend(args, q); |
|
|
|
} |
|
|
|
$.extend(args, q); |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|