|
|
@@ -248,13 +248,14 @@ _f.Frm.prototype.clear_table = function(fieldname) { |
|
|
|
_f.Frm.prototype.add_child = function(fieldname, values) { |
|
|
|
var doc = frappe.model.add_child(this.doc, frappe.meta.get_docfield(this.doctype, fieldname).options, fieldname); |
|
|
|
if(values) { |
|
|
|
// Deep clone |
|
|
|
var d = JSON.parse(JSON.stringify(values)); |
|
|
|
|
|
|
|
// Values of unique keys should not be overridden |
|
|
|
var d = {}; |
|
|
|
var unique_keys = ["idx", "name"]; |
|
|
|
unique_keys.map((key) => { |
|
|
|
d[key] && delete d[key]; |
|
|
|
|
|
|
|
Object.keys(values).map((key) => { |
|
|
|
if(!unique_keys.includes(key)) { |
|
|
|
d[key] = values[key]; |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
$.extend(doc, d); |
|
|
|