From 21503f8fb970d67d34954f2cafc1586165d7c987 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 22 Jul 2013 13:38:28 +0530 Subject: [PATCH] [minor] [fix] on row add processing, [cleanup] shifted validate link and fetch to script_manager --- .../journal_voucher/journal_voucher.js | 8 ----- .../purchase_invoice/purchase_invoice.js | 29 +++++-------------- .../doctype/sales_invoice/sales_invoice.js | 24 ++++----------- stock/doctype/item/item.js | 26 ++++++++++++----- stock/doctype/stock_entry/stock_entry.js | 21 +++++--------- 5 files changed, 38 insertions(+), 70 deletions(-) diff --git a/accounts/doctype/journal_voucher/journal_voucher.js b/accounts/doctype/journal_voucher/journal_voucher.js index 2e89a67cb1..ab4b2b05fd 100644 --- a/accounts/doctype/journal_voucher/journal_voucher.js +++ b/accounts/doctype/journal_voucher/journal_voucher.js @@ -104,14 +104,6 @@ cur_frm.cscript.is_opening = function(doc, cdt, cdn) { if (doc.is_opening == 'Yes') unhide_field('aging_date'); } -cur_frm.fields_dict['entries'].grid.onrowadd = function(doc, cdt, cdn){ - var d = locals[cdt][cdn]; - if(d.idx == 1){ - d.debit = 0; - d.credit = 0; - } -} - cur_frm.cscript.against_voucher = function(doc,cdt,cdn) { var d = locals[cdt][cdn]; if (d.against_voucher && !flt(d.debit)) { diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.js b/accounts/doctype/purchase_invoice/purchase_invoice.js index 2bdab8ac0b..e73386f71f 100644 --- a/accounts/doctype/purchase_invoice/purchase_invoice.js +++ b/accounts/doctype/purchase_invoice/purchase_invoice.js @@ -22,7 +22,7 @@ wn.provide("erpnext.accounts"); wn.require('app/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js'); wn.require('app/buying/doctype/purchase_common/purchase_common.js'); -erpnext.accounts.PurchaseInvoiceController = erpnext.buying.BuyingController.extend({ +erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ onload: function() { this._super(); @@ -103,29 +103,14 @@ erpnext.accounts.PurchaseInvoiceController = erpnext.buying.BuyingController.ext tc_name: function() { this.get_terms(); }, - + + entries_add: function(doc, cdt, cdn) { + var row = wn.model.get_doc(cdt, cdn); + this.frm.script_manager.copy_from_first_row("entries", row, ["expense_head", "cost_center"]); + } }); -// for backward compatibility: combine new and previous states -$.extend(cur_frm.cscript, new erpnext.accounts.PurchaseInvoiceController({frm: cur_frm})); - -cur_frm.fields_dict['entries'].grid.onrowadd = function(doc, cdt, cdn){ - - cl = getchildren('Purchase Invoice Item', doc.name, cur_frm.cscript.fname, doc.doctype); - acc = ''; - cc = ''; - - for(var i = 0; i. -cur_frm.add_fetch("price_list_name", "currency", "ref_currency"); -cur_frm.add_fetch("price_list_name", "buying_or_selling", "buying_or_selling"); +wn.provide("erpnext.stock"); + +erpnext.stock.Item = wn.ui.form.Controller.extend({ + onload: function() { + this.frm.add_fetch("price_list_name", "currency", "ref_currency"); + this.frm.add_fetch("price_list_name", "buying_or_selling", "buying_or_selling"); + }, + + ref_rate_details_add: function(doc, cdt, cdn) { + var row = wn.model.get_doc(cdt, cdn); + if(row.price_list_name && !row.ref_currency) { + // execute fetch + var df = wn.meta.get_docfield(row.doctype, "price_list_name", row.parent); + this.frm.script_manager.validate_link_and_fetch(df, row.name, row.price_list_name); + } + } +}); + +cur_frm.script_manager.make(erpnext.stock.Item); cur_frm.cscript.refresh = function(doc) { // make sensitive fields(has_serial_no, is_stock_item, valuation_method) @@ -157,11 +174,6 @@ cur_frm.cscript.validate = function(doc,cdt,cdn){ cur_frm.cscript.weight_to_validate(doc,cdt,cdn); } -cur_frm.fields_dict['ref_rate_details'].grid.onrowadd = function(doc, cdt, cdn){ - locals[cdt][cdn].ref_currency = sys_defaults.currency; - refresh_field('ref_currency',cdn,'ref_rate_details'); -} - cur_frm.fields_dict.item_customer_details.grid.get_field("customer_name").get_query = function(doc,cdt,cdn) { return{ query:"controllers.queries.customer_query" } } diff --git a/stock/doctype/stock_entry/stock_entry.js b/stock/doctype/stock_entry/stock_entry.js index 123c9fbd8c..7032f92ec1 100644 --- a/stock/doctype/stock_entry/stock_entry.js +++ b/stock/doctype/stock_entry/stock_entry.js @@ -234,9 +234,15 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({ } }, + mtn_details_add: function(doc, cdt, cdn) { + var row = wn.model.get_doc(cdt, cdn); + + if(!row.s_warehouse) row.s_warehouse = this.frm.doc.from_warehouse; + if(!row.t_warehouse) row.t_warehouse = this.frm.doc.to_warehouse; + }, }); -cur_frm.cscript = new erpnext.stock.StockEntry({frm: cur_frm}); +cur_frm.script_manager.make(erpnext.stock.StockEntry); cur_frm.cscript.toggle_related_fields = function(doc) { disable_from_warehouse = inList(["Material Receipt", "Sales Return"], doc.purpose); @@ -296,19 +302,6 @@ cur_frm.cscript.purpose = function(doc, cdt, cdn) { cur_frm.cscript.toggle_related_fields(doc, cdt, cdn); } -// copy over source and target warehouses -cur_frm.fields_dict['mtn_details'].grid.onrowadd = function(doc, cdt, cdn){ - var d = locals[cdt][cdn]; - if(!d.s_warehouse && doc.from_warehouse) { - d.s_warehouse = doc.from_warehouse - refresh_field('s_warehouse', cdn, 'mtn_details') - } - if(!d.t_warehouse && doc.to_warehouse) { - d.t_warehouse = doc.to_warehouse - refresh_field('t_warehouse', cdn, 'mtn_details') - } -} - // Overloaded query for link batch_no cur_frm.fields_dict['mtn_details'].grid.get_field('batch_no').get_query = function(doc, cdt, cdn) { var d = locals[cdt][cdn];