diff --git a/frappe/public/js/frappe/model/create_new.js b/frappe/public/js/frappe/model/create_new.js index a28137744c..097f293124 100644 --- a/frappe/public/js/frappe/model/create_new.js +++ b/frappe/public/js/frappe/model/create_new.js @@ -227,7 +227,10 @@ $.extend(frappe.model, { freeze: true, callback: function(r) { if(!r.exc) { - var doc = frappe.model.sync(r.message); + frappe.model.sync(r.message); + var doc = frappe.model.get_doc(r.message.doctype, r.message.name); + doc.__mapped = true; + frappe.set_route("Form", r.message.doctype, r.message.name); } } diff --git a/frappe/public/js/legacy/form.js b/frappe/public/js/legacy/form.js index 6388249fac..006702e454 100644 --- a/frappe/public/js/legacy/form.js +++ b/frappe/public/js/legacy/form.js @@ -548,7 +548,7 @@ _f.Frm.prototype.setnewdoc = function() { _f.Frm.prototype.trigger_link_fields = function() { // trigger link fields which have default values set - if (this.is_new()) { + if (this.is_new() && !this.doc.__mapped) { $.each(this.fields_dict, function(fieldname, field) { if (field.df.fieldtype=="Link" && this.doc[fieldname]) { // triggers add fetch, sets value in model and runs triggers