diff --git a/frappe/public/js/frappe/model/model.js b/frappe/public/js/frappe/model/model.js index e687624577..8411e7d12a 100644 --- a/frappe/public/js/frappe/model/model.js +++ b/frappe/public/js/frappe/model/model.js @@ -382,7 +382,7 @@ $.extend(frappe.model, { tasks.push(() => frappe.model.trigger(key, value, doc)); } else { // execute link triggers (want to reselect to execute triggers) - if(fieldtype=="Link" && doc) { + if(in_list(["Link", "Dynamic Link"], fieldtype) && doc) { tasks.push(() => frappe.model.trigger(key, value, doc)); } } diff --git a/frappe/public/js/legacy/client_script_helpers.js b/frappe/public/js/legacy/client_script_helpers.js index 60baeb16bd..d9a2d59740 100644 --- a/frappe/public/js/legacy/client_script_helpers.js +++ b/frappe/public/js/legacy/client_script_helpers.js @@ -509,7 +509,12 @@ _f.Frm.prototype.make_new = function(doctype) { // set link fields (if found) frappe.get_meta(doctype).fields.forEach(function(df) { - if(df.fieldtype==='Link' && df.options===me.doctype) { + if(df.fieldtype==='Link' && df.options==="DocType") { + new_doc[df.fieldname] = me.doctype; + } + + if((df.fieldtype==='Link' && df.options===me.doctype) + || (df.fieldtype==='Dynamic Link' && new_doc[df.options] === me.doctype)) { new_doc[df.fieldname] = me.doc.name; } }); diff --git a/frappe/public/js/legacy/form.js b/frappe/public/js/legacy/form.js index 8fe4a6e347..aa2933b2b0 100644 --- a/frappe/public/js/legacy/form.js +++ b/frappe/public/js/legacy/form.js @@ -615,7 +615,7 @@ _f.Frm.prototype.trigger_link_fields = function() { // trigger link fields which have default values set if (this.is_new() && this.doc.__run_link_triggers) { $.each(this.fields_dict, function(fieldname, field) { - if (field.df.fieldtype=="Link" && this.doc[fieldname]) { + if (in_list(['Link', 'Dynamic Link'], field.df.fieldtype) && this.doc[fieldname]) { // triggers add fetch, sets value in model and runs triggers field.set_value(this.doc[fieldname]); }