[fix] [minor] [grid] set_colum_disp should force refresh the whole grid

This commit is contained in:
Anand Doshi
2013-07-25 18:53:22 +05:30
parent f2045fb92e
commit 60403b2d8f
4 changed files with 10 additions and 11 deletions

View File

@@ -176,13 +176,14 @@ cur_frm.cscript.hide_fields = function(doc, cdt, cdn) {
if(cint(doc.is_pos) == 1) { if(cint(doc.is_pos) == 1) {
hide_field(par_flds); hide_field(par_flds);
unhide_field('payments_section'); unhide_field('payments_section');
for(f in item_flds_normal) cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_normal[f], false); cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_normal, false);
} else { } else {
hide_field('payments_section'); hide_field('payments_section');
unhide_field(par_flds); unhide_field(par_flds);
for(f in item_flds_normal) cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_normal[f], true); cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_normal, true);
} }
for(f in item_flds_pos) cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_pos[f], (cint(doc.update_stock)==1?true:false));
cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_pos, (cint(doc.update_stock)==1?true:false));
// India related fields // India related fields
var cp = wn.control_panel; var cp = wn.control_panel;

View File

@@ -485,12 +485,12 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
// toggle columns // toggle columns
var item_grid = this.frm.fields_dict[this.fname].grid; var item_grid = this.frm.fields_dict[this.fname].grid;
var show = this.frm.doc.currency != company_currency; var fieldnames = $.map(["purchase_rate", "purchase_ref_rate", "amount", "rate"], function(fname) {
$.each(["purchase_rate", "purchase_ref_rate", "amount", "rate"], function(i, fname) { return wn.meta.get_docfield(item_grid.doctype, fname, me.frm.docname) ? fname : null;
if(wn.meta.get_docfield(item_grid.doctype, fname))
item_grid.set_column_disp(fname, show);
}); });
item_grid.set_column_disp(fieldnames, this.frm.doc.currency != company_currency);
// set labels // set labels
var $wrapper = $(this.frm.wrapper); var $wrapper = $(this.frm.wrapper);
$.each(field_label_map, function(fname, label) { $.each(field_label_map, function(fname, label) {

View File

@@ -209,8 +209,7 @@ $(document).bind('form_refresh', function() {
if(fort=='fields') { if(fort=='fields') {
hide_field(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]); hide_field(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]);
} else if(cur_frm.fields_dict[fort]) { } else if(cur_frm.fields_dict[fort]) {
for(grid_field in pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]) cur_frm.fields_dict[fort].grid.set_column_disp(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort], false);
cur_frm.fields_dict[fort].grid.set_column_disp(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort][grid_field], false);
} else { } else {
msgprint('Grid "'+fort+'" does not exists'); msgprint('Grid "'+fort+'" does not exists');
} }

View File

@@ -46,8 +46,7 @@ erpnext.stock.DeliveryNoteController = erpnext.selling.SellingController.extend(
// unhide expense_account and cost_center is auto_inventory_accounting enabled // unhide expense_account and cost_center is auto_inventory_accounting enabled
var aii_enabled = cint(sys_defaults.auto_inventory_accounting) var aii_enabled = cint(sys_defaults.auto_inventory_accounting)
cur_frm.fields_dict[cur_frm.cscript.fname].grid.set_column_disp("expense_account", aii_enabled); cur_frm.fields_dict[cur_frm.cscript.fname].grid.set_column_disp(["expense_account", "cost_center"], aii_enabled);
cur_frm.fields_dict[cur_frm.cscript.fname].grid.set_column_disp("cost_center", aii_enabled);
if (this.frm.doc.docstatus===0) { if (this.frm.doc.docstatus===0) {
cur_frm.add_custom_button(wn._('From Sales Order'), cur_frm.add_custom_button(wn._('From Sales Order'),