From 9ccbb29dc252db5cc0825af050022c6cd1966deb Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Wed, 16 May 2012 12:19:12 +0530 Subject: [PATCH] on changing value of a form's field, do not call refresh toolbar, as it clears all custom buttons --- js/legacy/widgets/form/form.js | 8 +++++--- js/legacy/widgets/form/form_header.js | 7 ++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/js/legacy/widgets/form/form.js b/js/legacy/widgets/form/form.js index 2f9915d427..445ae8e2b9 100644 --- a/js/legacy/widgets/form/form.js +++ b/js/legacy/widgets/form/form.js @@ -1113,10 +1113,12 @@ _f.set_value = function(dt, dn, fn, v) { d.__unsaved = 1; if(d.parent && d.parenttype) { - locals[d.parenttype][d.parent].__unsaved = 1; + var doc = locals[d.parenttype][d.parent]; + doc.__unsaved = 1; var frm = wn.views.formview[d.parenttype].frm; } else { - locals[d.doctype][d.name].__unsaved = 1; + var doc = locals[d.doctype][d.name] + doc.__unsaved = 1; var frm = wn.views.formview[d.doctype] && wn.views.formview[d.doctype].frm; } @@ -1124,7 +1126,7 @@ _f.set_value = function(dt, dn, fn, v) { // Just check if __unsaved was not set previously if(frm && frm==cur_frm && frm.frm_head && !prev_unsaved) { frm.frm_head.refresh_labels(); - frm.frm_head.refresh_toolbar(); + //frm.frm_head.refresh_toolbar(); } } } diff --git a/js/legacy/widgets/form/form_header.js b/js/legacy/widgets/form/form_header.js index 2fd8f94a33..f7515ce64a 100644 --- a/js/legacy/widgets/form/form_header.js +++ b/js/legacy/widgets/form/form_header.js @@ -62,13 +62,18 @@ _f.FrmHeader = Class.extend({ this.set_label(labinfo); + // show update button if unsaved + if(cur_frm.doc.__unsaved && cint(cur_frm.doc.docstatus)==1 && this.appframe.buttons['Update']) { + this.appframe.buttons['Update'].toggle(true); + } + }, set_label: function(labinfo) { this.$w.find('.label-area').html(repl('\ %(lab_status)s', { lab_status: labinfo[0], lab_class: labinfo[1] - })); + })); }, refresh_toolbar: function() { // clear