Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/doctype/account/account.js b/accounts/doctype/account/account.js
index 9a8115e..eb8e765 100644
--- a/accounts/doctype/account/account.js
+++ b/accounts/doctype/account/account.js
@@ -104,7 +104,7 @@
// Convert group to ledger
// -----------------------------------------
cur_frm.cscript.convert_to_ledger = function(doc, cdt, cdn) {
- $c_obj(cur_frm.get_doclist(),'convert_group_to_ledger','',function(r,rt) {
+ return $c_obj(cur_frm.get_doclist(),'convert_group_to_ledger','',function(r,rt) {
if(r.message == 1) {
cur_frm.refresh();
}
@@ -114,7 +114,7 @@
// Convert ledger to group
// -----------------------------------------
cur_frm.cscript.convert_to_group = function(doc, cdt, cdn) {
- $c_obj(cur_frm.get_doclist(),'convert_ledger_to_group','',function(r,rt) {
+ return $c_obj(cur_frm.get_doclist(),'convert_ledger_to_group','',function(r,rt) {
if(r.message == 1) {
cur_frm.refresh();
}
diff --git a/accounts/doctype/budget_distribution/budget_distribution.js b/accounts/doctype/budget_distribution/budget_distribution.js
index 5abd525..29e5e33 100644
--- a/accounts/doctype/budget_distribution/budget_distribution.js
+++ b/accounts/doctype/budget_distribution/budget_distribution.js
@@ -20,7 +20,7 @@
refresh_field('budget_distribution_details');
}
- $c('runserverobj',args={'method' : 'get_months', 'docs' :
+ return $c('runserverobj',args={'method' : 'get_months', 'docs' :
wn.model.compress(make_doclist(doc.doctype, doc.name))},callback1);
}
}
diff --git a/accounts/doctype/c_form/c_form.js b/accounts/doctype/c_form/c_form.js
index 35656e9..0bc9ff1 100644
--- a/accounts/doctype/c_form/c_form.js
+++ b/accounts/doctype/c_form/c_form.js
@@ -34,5 +34,5 @@
cur_frm.cscript.invoice_no = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
- get_server_fields('get_invoice_details', d.invoice_no, 'invoice_details', doc, cdt, cdn, 1);
+ return get_server_fields('get_invoice_details', d.invoice_no, 'invoice_details', doc, cdt, cdn, 1);
}
\ No newline at end of file
diff --git a/accounts/doctype/cost_center/cost_center.js b/accounts/doctype/cost_center/cost_center.js
index 96af1cf..7dc4223 100644
--- a/accounts/doctype/cost_center/cost_center.js
+++ b/accounts/doctype/cost_center/cost_center.js
@@ -84,7 +84,7 @@
}
cur_frm.cscript.convert_to_ledger = function(doc, cdt, cdn) {
- $c_obj(cur_frm.get_doclist(),'convert_group_to_ledger','',function(r,rt) {
+ return $c_obj(cur_frm.get_doclist(),'convert_group_to_ledger','',function(r,rt) {
if(r.message == 1) {
cur_frm.refresh();
}
@@ -92,7 +92,7 @@
}
cur_frm.cscript.convert_to_group = function(doc, cdt, cdn) {
- $c_obj(cur_frm.get_doclist(),'convert_ledger_to_group','',function(r,rt) {
+ return $c_obj(cur_frm.get_doclist(),'convert_ledger_to_group','',function(r,rt) {
if(r.message == 1) {
cur_frm.refresh();
}
diff --git a/accounts/doctype/fiscal_year/fiscal_year.js b/accounts/doctype/fiscal_year/fiscal_year.js
index 6e0ed38..0f70cf5 100644
--- a/accounts/doctype/fiscal_year/fiscal_year.js
+++ b/accounts/doctype/fiscal_year/fiscal_year.js
@@ -24,7 +24,7 @@
}
cur_frm.cscript.set_as_default = function() {
- wn.call({
+ return wn.call({
doc: cur_frm.doc,
method: "set_as_default"
});
diff --git a/accounts/doctype/gl_entry/gl_entry.py b/accounts/doctype/gl_entry/gl_entry.py
index 1d0ec8e..60c37a4 100644
--- a/accounts/doctype/gl_entry/gl_entry.py
+++ b/accounts/doctype/gl_entry/gl_entry.py
@@ -151,7 +151,7 @@
balance = webnotes.conn.sql("""select sum(debit) - sum(credit) from `tabGL Entry`
where account = %s and ifnull(is_cancelled, 'No') = 'No'""", self.doc.account)
balance = account["debit_or_credit"] == "Debit" and \
- balance[0][0] or -1*balance[0][0]
+ flt(balance[0][0]) or -1*flt(balance[0][0])
if flt(balance) < 0:
msgprint(_("Negative balance is not allowed for account ") + self.doc.account,
diff --git a/accounts/doctype/journal_voucher/journal_voucher.js b/accounts/doctype/journal_voucher/journal_voucher.js
index ab4b2b0..867ebbb 100644
--- a/accounts/doctype/journal_voucher/journal_voucher.js
+++ b/accounts/doctype/journal_voucher/journal_voucher.js
@@ -18,10 +18,20 @@
erpnext.accounts.JournalVoucher = wn.ui.form.Controller.extend({
onload: function() {
- this.load_defaults(this.frm.doc);
+ this.load_defaults();
this.setup_queries();
},
+ load_defaults: function() {
+ if(this.frm.doc.__islocal && this.frm.doc.company) {
+ wn.model.set_default_values(this.frm.doc);
+ $.each(wn.model.get_doclist(this.frm.doc.doctype, this.frm.doc.name, {parentfield: "entries"}),
+ function(i, jvd) { wn.model.set_default_values(jvd); });
+
+ this.frm.doc.posting_date = get_today();
+ }
+ },
+
setup_queries: function() {
var me = this;
@@ -82,23 +92,6 @@
}
}
-cur_frm.cscript.load_defaults = function(doc) {
- if(!cur_frm.doc.__islocal || !cur_frm.doc.company) { return; }
-
- doc = locals[doc.doctype][doc.name];
- var fields_to_refresh = wn.model.set_default_values(doc);
- if(fields_to_refresh) { refresh_many(fields_to_refresh); }
-
- fields_to_refresh = null;
- var children = getchildren('Journal Voucher Detail', doc.name, 'entries');
- if(!children) { return; }
- for(var i=0; i<children.length; i++) {
- wn.model.set_default_values(children[i]);
- }
- refresh_field('entries');
-}
-
-
cur_frm.cscript.is_opening = function(doc, cdt, cdn) {
hide_field('aging_date');
if (doc.is_opening == 'Yes') unhide_field('aging_date');
@@ -108,7 +101,7 @@
var d = locals[cdt][cdn];
if (d.against_voucher && !flt(d.debit)) {
args = {'doctype': 'Purchase Invoice', 'docname': d.against_voucher }
- get_server_fields('get_outstanding',docstring(args),'entries',doc,cdt,cdn,1,function(r,rt) { cur_frm.cscript.update_totals(doc); });
+ return get_server_fields('get_outstanding',docstring(args),'entries',doc,cdt,cdn,1,function(r,rt) { cur_frm.cscript.update_totals(doc); });
}
}
@@ -116,7 +109,7 @@
var d = locals[cdt][cdn];
if (d.against_invoice && !flt(d.credit)) {
args = {'doctype': 'Sales Invoice', 'docname': d.against_invoice }
- get_server_fields('get_outstanding',docstring(args),'entries',doc,cdt,cdn,1,function(r,rt) { cur_frm.cscript.update_totals(doc); });
+ return get_server_fields('get_outstanding',docstring(args),'entries',doc,cdt,cdn,1,function(r,rt) { cur_frm.cscript.update_totals(doc); });
}
}
@@ -141,7 +134,7 @@
cur_frm.cscript.get_balance = function(doc,dt,dn) {
cur_frm.cscript.update_totals(doc);
- $c_obj(make_doclist(dt,dn), 'get_balance', '', function(r, rt){
+ return $c_obj(make_doclist(dt,dn), 'get_balance', '', function(r, rt){
cur_frm.refresh();
});
}
@@ -151,7 +144,7 @@
cur_frm.cscript.account = function(doc,dt,dn) {
var d = locals[dt][dn];
if(d.account) {
- wn.call({
+ return wn.call({
method: "accounts.utils.get_balance_on",
args: {account: d.account, date: doc.posting_date},
callback: function(r) {
@@ -193,7 +186,7 @@
}
if(in_list(["Bank Voucher", "Cash Voucher"], doc.voucher_type)) {
- wn.call({
+ return wn.call({
type: "GET",
method: "accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
args: {
@@ -207,7 +200,7 @@
}
})
} else if(doc.voucher_type=="Opening Entry") {
- wn.call({
+ return wn.call({
type:"GET",
method: "accounts.doctype.journal_voucher.journal_voucher.get_opening_accounts",
args: {
diff --git a/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.js b/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.js
index 3230ecf..d8c8c81 100644
--- a/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.js
+++ b/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.js
@@ -49,11 +49,11 @@
}
cur_frm.cscript.voucher_no =function(doc, cdt, cdn) {
- get_server_fields('get_voucher_details', '', '', doc, cdt, cdn, 1)
+ return get_server_fields('get_voucher_details', '', '', doc, cdt, cdn, 1)
}
cur_frm.cscript.account = function(doc, cdt, cdn) {
- wn.call({
+ return wn.call({
doc: this.frm.doc,
method: "set_account_type",
callback: function(r) {
diff --git a/accounts/doctype/pos_setting/pos_setting.js b/accounts/doctype/pos_setting/pos_setting.js
index 653b631..c91e4ce 100755
--- a/accounts/doctype/pos_setting/pos_setting.js
+++ b/accounts/doctype/pos_setting/pos_setting.js
@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
cur_frm.cscript.onload = function(doc,cdt,cdn){
- $c_obj(make_doclist(cdt,cdn),'get_series','',function(r,rt){
+ return $c_obj(make_doclist(cdt,cdn),'get_series','',function(r,rt){
if(r.message) set_field_options('naming_series', r.message);
});
diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.js b/accounts/doctype/purchase_invoice/purchase_invoice.js
index e73386f..e71a408 100644
--- a/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -118,7 +118,7 @@
}
cur_frm.cscript.make_bank_voucher = function() {
- wn.call({
+ return wn.call({
method: "accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
args: {
"company": cur_frm.doc.company,
diff --git a/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js b/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js
index ba1a06b..626171c 100644
--- a/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js
+++ b/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js
@@ -156,7 +156,7 @@
}
else if(d.account_head && d.charge_type) {
arg = "{'charge_type' : '" + d.charge_type + "', 'account_head' : '" + d.account_head + "'}";
- get_server_fields('get_rate', arg, 'purchase_tax_details', doc, cdt, cdn, 1);
+ return get_server_fields('get_rate', arg, 'purchase_tax_details', doc, cdt, cdn, 1);
}
refresh_field('account_head',d.name,'purchase_tax_details');
}
diff --git a/accounts/doctype/sales_invoice/sales_invoice.js b/accounts/doctype/sales_invoice/sales_invoice.js
index 99f596c..345dbc9 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/accounts/doctype/sales_invoice/sales_invoice.js
@@ -133,21 +133,25 @@
},
is_pos: function() {
+ cur_frm.cscript.hide_fields(this.frm.doc);
+
if(cint(this.frm.doc.is_pos)) {
if(!this.frm.doc.company) {
this.frm.set_value("is_pos", 0);
msgprint(wn._("Please specify Company to proceed"));
} else {
var me = this;
- this.frm.call({
+ return this.frm.call({
doc: me.frm.doc,
method: "set_missing_values",
+ callback: function(r) {
+ if(!r.exc) {
+ me.frm.script_manager.trigger("update_stock");
+ }
+ }
});
}
}
-
- // TODO toggle display of fields
- cur_frm.cscript.hide_fields(this.frm.doc);
},
debit_to: function() {
@@ -191,8 +195,7 @@
// Hide Fields
// ------------
cur_frm.cscript.hide_fields = function(doc) {
- par_flds = ['project_name', 'due_date', 'is_opening', 'conversion_rate',
- 'source', 'total_advance', 'gross_profit',
+ par_flds = ['project_name', 'due_date', 'is_opening', 'source', 'total_advance', 'gross_profit',
'gross_profit_percent', 'get_advances_received',
'advance_adjustment_details', 'sales_partner', 'commission_rate',
'total_commission', 'advances'];
@@ -222,7 +225,7 @@
cur_frm.cscript.mode_of_payment = function(doc) {
- cur_frm.call({
+ return cur_frm.call({
method: "get_bank_cash_account",
args: { mode_of_payment: doc.mode_of_payment }
});
@@ -248,7 +251,7 @@
}
cur_frm.cscript.make_bank_voucher = function() {
- wn.call({
+ return wn.call({
method: "accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
args: {
"company": cur_frm.doc.company,
diff --git a/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js b/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js
index eca6eae..df6aaa9 100644
--- a/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js
+++ b/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js
@@ -165,7 +165,7 @@
}
else if(d.account_head && d.charge_type) {
arg = "{'charge_type' : '" + d.charge_type +"', 'account_head' : '" + d.account_head + "'}";
- get_server_fields('get_rate', arg, 'other_charges', doc, cdt, cdn, 1);
+ return get_server_fields('get_rate', arg, 'other_charges', doc, cdt, cdn, 1);
}
refresh_field('account_head',d.name,'other_charges');
}
diff --git a/accounts/page/accounts_browser/accounts_browser.js b/accounts/page/accounts_browser/accounts_browser.js
index 30ed5b9..18d43ff 100644
--- a/accounts/page/accounts_browser/accounts_browser.js
+++ b/accounts/page/accounts_browser/accounts_browser.js
@@ -73,7 +73,7 @@
})
// load up companies
- wn.call({
+ return wn.call({
method:'accounts.page.accounts_browser.accounts_browser.get_companies',
callback: function(r) {
wrapper.$company_select.empty();
@@ -265,7 +265,7 @@
v.master_type = '';
v.company = me.company;
- wn.call({
+ return wn.call({
args: v,
method:'accounts.utils.add_ac',
callback: function(r) {
@@ -312,7 +312,7 @@
v.parent_cost_center = node.data('label');
v.company = me.company;
- wn.call({
+ return wn.call({
args: v,
method:'accounts.utils.add_cc',
callback: function(r) {
diff --git a/accounts/page/financial_statements/financial_statements.js b/accounts/page/financial_statements/financial_statements.js
index d562e32..0175da7 100644
--- a/accounts/page/financial_statements/financial_statements.js
+++ b/accounts/page/financial_statements/financial_statements.js
@@ -62,7 +62,7 @@
</div>').css({"min-height": "400px"});
// load companies
- $c_obj('MIS Control','get_comp','', function(r,rt) {
+ return $c_obj('MIS Control','get_comp','', function(r,rt) {
// company
erpnext.fs.stmt_company.$input.empty()
.add_options(['Select Company...'].concat(r.message.company));
@@ -86,7 +86,7 @@
year: erpnext.fs.stmt_fiscal_year.get_value()
}
- $c_obj('MIS Control', 'get_statement', docstring(arg), function(r,rt) {
+ return $c_obj('MIS Control', 'get_statement', docstring(arg), function(r,rt) {
var nl = r.message;
var t = $i('stmt_tree');
var stmt_type = erpnext.fs.stmt_type.get_value();
diff --git a/buying/doctype/purchase_common/purchase_common.js b/buying/doctype/purchase_common/purchase_common.js
index 87f79a0..dabfcd9 100644
--- a/buying/doctype/purchase_common/purchase_common.js
+++ b/buying/doctype/purchase_common/purchase_common.js
@@ -92,7 +92,7 @@
var me = this;
var price_list_name = this.frm.doc.price_list_name;
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "set_supplier_defaults",
freeze: true,
@@ -109,7 +109,7 @@
supplier_address: function() {
var me = this;
if (this.frm.doc.supplier) {
- wn.call({
+ return wn.call({
doc: this.frm.doc,
method: "set_supplier_address",
freeze: true,
@@ -134,7 +134,7 @@
item.item_code = null;
refresh_field("item_code", item.name, item.parentfield);
} else {
- this.frm.call({
+ return this.frm.call({
method: "buying.utils.get_item_details",
child: item,
args: {
@@ -200,7 +200,7 @@
var me = this;
var item = wn.model.get_doc(cdt, cdn);
if(item.item_code && item.uom) {
- this.frm.call({
+ return this.frm.call({
method: "buying.utils.get_conversion_factor",
child: item,
args: {
@@ -233,7 +233,7 @@
warehouse: function(doc, cdt, cdn) {
var item = wn.model.get_doc(cdt, cdn);
if(item.item_code && item.warehouse) {
- this.frm.call({
+ return this.frm.call({
method: "buying.utils.get_projected_qty",
child: item,
args: {
@@ -267,7 +267,7 @@
purchase_other_charges: function() {
var me = this;
if(this.frm.doc.purchase_other_charges) {
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "get_purchase_tax_details",
callback: function(r) {
diff --git a/buying/doctype/purchase_common/purchase_common.py b/buying/doctype/purchase_common/purchase_common.py
index e14b1ca..d1da223 100644
--- a/buying/doctype/purchase_common/purchase_common.py
+++ b/buying/doctype/purchase_common/purchase_common.py
@@ -76,7 +76,11 @@
elif is_submit == 1:
# even if this transaction is the latest one, it should be submitted
# for it to be considered for latest purchase rate
- last_purchase_rate = flt(d.purchase_rate) / flt(d.conversion_factor)
+ if flt(d.conversion_factor):
+ last_purchase_rate = flt(d.purchase_rate) / flt(d.conversion_factor)
+ else:
+ msgprint(_("Row ") + cstr(d.idx) + ": " +
+ _("UOM Conversion Factor is mandatory"), raise_exception=1)
# update last purchsae rate
if last_purchase_rate:
diff --git a/buying/doctype/purchase_order/purchase_order.js b/buying/doctype/purchase_order/purchase_order.js
index 99149bc..360170a 100644
--- a/buying/doctype/purchase_order/purchase_order.js
+++ b/buying/doctype/purchase_order/purchase_order.js
@@ -140,7 +140,7 @@
}
cur_frm.cscript.get_last_purchase_rate = function(doc, cdt, cdn){
- $c_obj(make_doclist(doc.doctype, doc.name), 'get_last_purchase_rate', '', function(r, rt) {
+ return $c_obj(make_doclist(doc.doctype, doc.name), 'get_last_purchase_rate', '', function(r, rt) {
refresh_field(cur_frm.cscript.fname);
var doc = locals[cdt][cdn];
cur_frm.cscript.calc_amount( doc, 2);
@@ -152,7 +152,7 @@
var check = confirm("Do you really want to STOP " + doc.name);
if (check) {
- $c('runserverobj', args={'method':'update_status', 'arg': 'Stopped', 'docs': wn.model.compress(make_doclist(doc.doctype, doc.name))}, function(r,rt) {
+ return $c('runserverobj', args={'method':'update_status', 'arg': 'Stopped', 'docs': wn.model.compress(make_doclist(doc.doctype, doc.name))}, function(r,rt) {
cur_frm.refresh();
});
}
@@ -163,7 +163,7 @@
var check = confirm("Do you really want to UNSTOP " + doc.name);
if (check) {
- $c('runserverobj', args={'method':'update_status', 'arg': 'Submitted', 'docs': wn.model.compress(make_doclist(doc.doctype, doc.name))}, function(r,rt) {
+ return $c('runserverobj', args={'method':'update_status', 'arg': 'Submitted', 'docs': wn.model.compress(make_doclist(doc.doctype, doc.name))}, function(r,rt) {
cur_frm.refresh();
});
}
diff --git a/buying/doctype/quality_inspection/quality_inspection.js b/buying/doctype/quality_inspection/quality_inspection.js
index 995119c..7c93209 100644
--- a/buying/doctype/quality_inspection/quality_inspection.js
+++ b/buying/doctype/quality_inspection/quality_inspection.js
@@ -16,7 +16,7 @@
cur_frm.cscript.item_code = function(doc, cdt, cdn) {
if (doc.item_code)
- get_server_fields('get_purchase_receipt_item_details','','',doc,cdt,cdn,1);
+ return get_server_fields('get_purchase_receipt_item_details','','',doc,cdt,cdn,1);
}
cur_frm.cscript.inspection_type = function(doc, cdt, cdn) {
diff --git a/buying/doctype/supplier/supplier.js b/buying/doctype/supplier/supplier.js
index 5374d50..2aa9b5e 100644
--- a/buying/doctype/supplier/supplier.js
+++ b/buying/doctype/supplier/supplier.js
@@ -55,7 +55,7 @@
cur_frm.dashboard.add_doctype_badge("Purchase Receipt", "supplier");
cur_frm.dashboard.add_doctype_badge("Purchase Invoice", "supplier");
- wn.call({
+ return wn.call({
type: "GET",
method:"buying.doctype.supplier.supplier.get_dashboard_info",
args: {
diff --git a/controllers/queries.py b/controllers/queries.py
index 219fc74..caa2f6f 100644
--- a/controllers/queries.py
+++ b/controllers/queries.py
@@ -36,12 +36,8 @@
return cond
def get_match_cond(doctype, searchfield = 'name'):
- meta = webnotes.get_doctype(doctype)
- from webnotes.widgets.search import get_std_fields_list
- fields = get_std_fields_list(meta, searchfield)
-
from webnotes.widgets.reportview import build_match_conditions
- cond = build_match_conditions(doctype, fields)
+ cond = build_match_conditions(doctype)
if cond:
cond = ' and ' + cond
diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js
index 423f76e..dcdbed9 100644
--- a/home/page/latest_updates/latest_updates.js
+++ b/home/page/latest_updates/latest_updates.js
@@ -9,7 +9,7 @@
parent.html('<div class="progress progress-striped active">\
<div class="progress-bar" style="width: 100%;"></div></div>')
- wn.call({
+ return wn.call({
method:"home.page.latest_updates.latest_updates.get",
callback: function(r) {
parent.empty();
diff --git a/hr/doctype/appraisal/appraisal.js b/hr/doctype/appraisal/appraisal.js
index 2289064..3ac62b1 100644
--- a/hr/doctype/appraisal/appraisal.js
+++ b/hr/doctype/appraisal/appraisal.js
@@ -44,7 +44,7 @@
}
cur_frm.cscript.calculate_total_score = function(doc,cdt,cdn){
- //get_server_fields('calculate_total','','',doc,cdt,cdn,1);
+ //return get_server_fields('calculate_total','','',doc,cdt,cdn,1);
var val = getchildren('Appraisal Goal', doc.name, 'appraisal_details', doc.doctype);
var total =0;
for(var i = 0; i<val.length; i++){
diff --git a/hr/doctype/employee/employee.js b/hr/doctype/employee/employee.js
index 398d8f8..5522ff2 100644
--- a/hr/doctype/employee/employee.js
+++ b/hr/doctype/employee/employee.js
@@ -40,7 +40,7 @@
setup_leave_approver_select: function() {
var me = this;
- this.frm.call({
+ return this.frm.call({
method:"hr.utils.get_leave_approver_list",
callback: function(r) {
me.frm.fields_dict.employee_leave_approvers.grid
@@ -53,7 +53,7 @@
},
date_of_birth: function() {
- cur_frm.call({
+ return cur_frm.call({
method: "get_retirement_date",
args: {date_of_birth: this.frm.doc.date_of_birth}
});
@@ -88,7 +88,7 @@
validate_salary_structure: function(btn, callback) {
var me = this;
- this.frm.call({
+ return this.frm.call({
btn: btn,
method: "webnotes.client.get_value",
args: {
diff --git a/hr/doctype/expense_claim/expense_claim.js b/hr/doctype/expense_claim/expense_claim.js
index ce3cbea..243075d 100644
--- a/hr/doctype/expense_claim/expense_claim.js
+++ b/hr/doctype/expense_claim/expense_claim.js
@@ -19,7 +19,7 @@
erpnext.hr.ExpenseClaimController = wn.ui.form.Controller.extend({
make_bank_voucher: function() {
var me = this;
- wn.call({
+ return wn.call({
method: "accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
args: {
"company": cur_frm.doc.company,
@@ -63,19 +63,19 @@
cur_frm.set_value("approval_status", "Draft");
cur_frm.cscript.clear_sanctioned(doc);
}
-
- cur_frm.call({
- method:"hr.utils.get_expense_approver_list",
- callback: function(r) {
- cur_frm.set_df_property("exp_approver", "options", r.message);
- }
- });
cur_frm.fields_dict.employee.get_query = function(doc,cdt,cdn) {
return{
query:"controllers.queries.employee_query"
}
}
+
+ return cur_frm.call({
+ method:"hr.utils.get_expense_approver_list",
+ callback: function(r) {
+ cur_frm.set_df_property("exp_approver", "options", r.message);
+ }
+ });
}
cur_frm.cscript.clear_sanctioned = function(doc) {
diff --git a/hr/doctype/leave_allocation/leave_allocation.js b/hr/doctype/leave_allocation/leave_allocation.js
index 80445c1..a567275 100755
--- a/hr/doctype/leave_allocation/leave_allocation.js
+++ b/hr/doctype/leave_allocation/leave_allocation.js
@@ -72,7 +72,7 @@
// ---------------------------------
calculate_total_leaves_allocated = function(doc, dt, dn) {
if(cint(doc.carry_forward) == 1 && doc.leave_type && doc.fiscal_year && doc.employee){
- get_server_fields('get_carry_forwarded_leaves','','', doc, dt, dn, 1);
+ return get_server_fields('get_carry_forwarded_leaves','','', doc, dt, dn, 1);
}
else if(cint(doc.carry_forward) == 0){
set_multiple(dt,dn,{carry_forwarded_leaves : 0,total_leaves_allocated : flt(doc.new_leaves_allocated)});
diff --git a/hr/doctype/leave_application/leave_application.js b/hr/doctype/leave_application/leave_application.js
index 2715a6c..5d97f95 100755
--- a/hr/doctype/leave_application/leave_application.js
+++ b/hr/doctype/leave_application/leave_application.js
@@ -24,7 +24,7 @@
cur_frm.cscript.calculate_total_days(doc, dt, dn);
}
cur_frm.set_df_property("leave_approver", "options", "");
- cur_frm.call({
+ return cur_frm.call({
method:"hr.utils.get_leave_approver_list",
callback: function(r) {
cur_frm.set_df_property("leave_approver", "options", $.map(r.message,
@@ -105,7 +105,7 @@
cur_frm.cscript.get_leave_balance = function(doc, dt, dn) {
if(doc.docstatus==0 && doc.employee && doc.leave_type && doc.fiscal_year) {
- cur_frm.call({
+ return cur_frm.call({
method: "get_leave_balance",
args: {
employee: doc.employee,
@@ -121,7 +121,7 @@
if(cint(doc.half_day) == 1) set_multiple(dt,dn,{total_leave_days:0.5});
else{
// server call is done to include holidays in leave days calculations
- get_server_fields('get_total_leave_days', '', '', doc, dt, dn, 1);
+ return get_server_fields('get_total_leave_days', '', '', doc, dt, dn, 1);
}
}
}
diff --git a/hr/doctype/leave_control_panel/leave_control_panel.js b/hr/doctype/leave_control_panel/leave_control_panel.js
index f3a635c..88ea067 100644
--- a/hr/doctype/leave_control_panel/leave_control_panel.js
+++ b/hr/doctype/leave_control_panel/leave_control_panel.js
@@ -24,7 +24,7 @@
// Validation For To Date
// ================================================================================================
cur_frm.cscript.to_date = function(doc, cdt, cdn) {
- $c('runserverobj', args={'method':'to_date_validation','docs':wn.model.compress(make_doclist(doc.doctype, doc.name))},
+ return $c('runserverobj', args={'method':'to_date_validation','docs':wn.model.compress(make_doclist(doc.doctype, doc.name))},
function(r, rt) {
var doc = locals[cdt][cdn];
if (r.message) {
diff --git a/hr/doctype/salary_manager/salary_manager.js b/hr/doctype/salary_manager/salary_manager.js
index d6dcc5c..eb13e15 100644
--- a/hr/doctype/salary_manager/salary_manager.js
+++ b/hr/doctype/salary_manager/salary_manager.js
@@ -28,7 +28,7 @@
if (r.message)
display_activity_log(r.message);
}
- $c('runserverobj', args={'method':'create_sal_slip','docs':wn.model.compress(make_doclist (cdt, cdn))},callback);
+ return $c('runserverobj', args={'method':'create_sal_slip','docs':wn.model.compress(make_doclist (cdt, cdn))},callback);
}
@@ -42,7 +42,7 @@
if (r.message)
display_activity_log(r.message);
}
- $c('runserverobj', args={'method':'submit_salary_slip','docs':wn.model.compress(make_doclist (cdt, cdn))},callback);
+ return $c('runserverobj', args={'method':'submit_salary_slip','docs':wn.model.compress(make_doclist (cdt, cdn))},callback);
}
}
@@ -79,5 +79,5 @@
loaddoc('Journal Voucher', jv.name);
}
- $c_obj(make_doclist(dt,dn),'get_acc_details','',call_back);
+ return $c_obj(make_doclist(dt,dn),'get_acc_details','',call_back);
}
diff --git a/hr/doctype/salary_slip/salary_slip.js b/hr/doctype/salary_slip/salary_slip.js
index f6853fc..387b773 100644
--- a/hr/doctype/salary_slip/salary_slip.js
+++ b/hr/doctype/salary_slip/salary_slip.js
@@ -34,7 +34,7 @@
// Get leave details
//---------------------------------------------------------------------
cur_frm.cscript.fiscal_year = function(doc,dt,dn){
- $c_obj(make_doclist(doc.doctype,doc.name), 'get_emp_and_leave_details','',function(r, rt) {
+ return $c_obj(make_doclist(doc.doctype,doc.name), 'get_emp_and_leave_details','',function(r, rt) {
var doc = locals[dt][dn];
cur_frm.refresh();
calculate_all(doc, dt, dn);
@@ -45,7 +45,7 @@
cur_frm.cscript.leave_without_pay = function(doc,dt,dn){
if (doc.employee && doc.fiscal_year && doc.month) {
- $c_obj(make_doclist(doc.doctype,doc.name), 'get_leave_details',doc.leave_without_pay,function(r, rt) {
+ return $c_obj(make_doclist(doc.doctype,doc.name), 'get_leave_details',doc.leave_without_pay,function(r, rt) {
var doc = locals[dt][dn];
cur_frm.refresh();
calculate_all(doc, dt, dn);
diff --git a/hr/doctype/salary_structure/salary_structure.js b/hr/doctype/salary_structure/salary_structure.js
index 60c159d..6b98988 100644
--- a/hr/doctype/salary_structure/salary_structure.js
+++ b/hr/doctype/salary_structure/salary_structure.js
@@ -20,7 +20,7 @@
e_tbl = getchildren('Salary Structure Earning', doc.name, 'earning_details', doc.doctype);
d_tbl = getchildren('Salary Structure Deduction', doc.name, 'deduction_details', doc.doctype);
if (e_tbl.length == 0 && d_tbl.length == 0)
- $c_obj(make_doclist(doc.doctype,doc.name),'make_earn_ded_table','', function(r, rt) { refresh_many(['earning_details', 'deduction_details']);});
+ return $c_obj(make_doclist(doc.doctype,doc.name),'make_earn_ded_table','', function(r, rt) { refresh_many(['earning_details', 'deduction_details']);});
}
cur_frm.cscript.refresh = function(doc, dt, dn){
@@ -40,7 +40,7 @@
cur_frm.cscript.employee = function(doc, dt, dn){
if (doc.employee)
- get_server_fields('get_employee_details','','',doc,dt,dn);
+ return get_server_fields('get_employee_details','','',doc,dt,dn);
}
cur_frm.cscript.modified_value = function(doc, cdt, cdn){
diff --git a/manufacturing/doctype/bom/bom.js b/manufacturing/doctype/bom/bom.js
index 87bc4aa..6f1786f 100644
--- a/manufacturing/doctype/bom/bom.js
+++ b/manufacturing/doctype/bom/bom.js
@@ -27,7 +27,7 @@
}
cur_frm.cscript.update_cost = function() {
- wn.call({
+ return wn.call({
doc: cur_frm.doc,
method: "update_cost",
callback: function(r) {
@@ -106,7 +106,7 @@
var get_bom_material_detail= function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if (d.item_code) {
- wn.call({
+ return wn.call({
doc: cur_frm.doc,
method: "get_bom_material_detail",
args: {
diff --git a/manufacturing/doctype/production_order/production_order.js b/manufacturing/doctype/production_order/production_order.js
index 12f9490..bf4fd8e 100644
--- a/manufacturing/doctype/production_order/production_order.js
+++ b/manufacturing/doctype/production_order/production_order.js
@@ -52,7 +52,7 @@
}
cur_frm.cscript.production_item = function(doc) {
- cur_frm.call({
+ return cur_frm.call({
method: "get_item_details",
args: { item: doc.production_item }
});
@@ -62,7 +62,7 @@
var doc = cur_frm.doc;
var check = confirm("Do you really want to stop production order: " + doc.name);
if (check) {
- $c_obj(make_doclist(doc.doctype, doc.name), 'stop_unstop', 'Stopped', function(r, rt) {cur_frm.refresh();});
+ return $c_obj(make_doclist(doc.doctype, doc.name), 'stop_unstop', 'Stopped', function(r, rt) {cur_frm.refresh();});
}
}
@@ -70,7 +70,7 @@
var doc = cur_frm.doc;
var check = confirm("Do really want to unstop production order: " + doc.name);
if (check)
- $c_obj(make_doclist(doc.doctype, doc.name), 'stop_unstop', 'Unstopped', function(r, rt) {cur_frm.refresh();});
+ return $c_obj(make_doclist(doc.doctype, doc.name), 'stop_unstop', 'Unstopped', function(r, rt) {cur_frm.refresh();});
}
cur_frm.cscript['Transfer Raw Materials'] = function() {
diff --git a/manufacturing/doctype/production_planning_tool/production_planning_tool.js b/manufacturing/doctype/production_planning_tool/production_planning_tool.js
index 6cd643e..c18c84e 100644
--- a/manufacturing/doctype/production_planning_tool/production_planning_tool.js
+++ b/manufacturing/doctype/production_planning_tool/production_planning_tool.js
@@ -26,19 +26,19 @@
cur_frm.cscript.sales_order = function(doc,cdt,cdn) {
var d = locals[cdt][cdn];
if (d.sales_order) {
- get_server_fields('get_so_details', d.sales_order, 'pp_so_details', doc, cdt, cdn, 1);
+ return get_server_fields('get_so_details', d.sales_order, 'pp_so_details', doc, cdt, cdn, 1);
}
}
cur_frm.cscript.item_code = function(doc,cdt,cdn) {
var d = locals[cdt][cdn];
if (d.item_code) {
- get_server_fields('get_item_details', d.item_code, 'pp_details', doc, cdt, cdn, 1);
+ return get_server_fields('get_item_details', d.item_code, 'pp_details', doc, cdt, cdn, 1);
}
}
cur_frm.cscript.download_materials_required = function(doc, cdt, cdn) {
- $c_obj(make_doclist(cdt, cdn), 'validate_data', '', function(r, rt) {
+ return $c_obj(make_doclist(cdt, cdn), 'validate_data', '', function(r, rt) {
if (!r['exc'])
$c_obj_csv(make_doclist(cdt, cdn), 'download_raw_materials', '', '');
});
diff --git a/projects/doctype/task/task.js b/projects/doctype/task/task.js
index cb2c539..7ecb224 100644
--- a/projects/doctype/task/task.js
+++ b/projects/doctype/task/task.js
@@ -29,7 +29,7 @@
project: function() {
if(this.frm.doc.project) {
- get_server_fields('get_project_details', '','', this.frm.doc, this.frm.doc.doctype,
+ return get_server_fields('get_project_details', '','', this.frm.doc, this.frm.doc.doctype,
this.frm.doc.name, 1);
}
},
diff --git a/public/js/complete_setup.js b/public/js/complete_setup.js
index d66d09a..3a6bad5 100644
--- a/public/js/complete_setup.js
+++ b/public/js/complete_setup.js
@@ -74,7 +74,7 @@
var data = d.get_values();
if(!data) return;
$(this).set_working();
- $c_obj('Setup Control','setup_account',data,function(r, rt){
+ return $c_obj('Setup Control','setup_account',data,function(r, rt){
$(this).done_working();
if(!r.exc) {
sys_defaults = r.message;
diff --git a/public/js/controllers/stock_controller.js b/public/js/controllers/stock_controller.js
index ccbca4e..e657185 100644
--- a/public/js/controllers/stock_controller.js
+++ b/public/js/controllers/stock_controller.js
@@ -19,22 +19,26 @@
erpnext.stock.StockController = wn.ui.form.Controller.extend({
show_stock_ledger: function() {
var me = this;
- this.frm.add_custom_button("Stock Ledger", function() {
- wn.route_options = {
- voucher_no: me.frm.doc.name,
- from_date: cur_frm.doc.posting_date,
- to_date: cur_frm.doc.posting_date
- };
- wn.set_route('stock-ledger');
- }, "icon-bar-chart");
+ if(this.frm.doc.docstatus===1) {
+ this.frm.add_custom_button("Stock Ledger", function() {
+ wn.route_options = {
+ voucher_no: me.frm.doc.name,
+ from_date: me.frm.doc.posting_date,
+ to_date: me.frm.doc.posting_date
+ };
+ wn.set_route('stock-ledger');
+ }, "icon-bar-chart");
+ }
+
},
show_general_ledger: function() {
- if(doc.docstatus==1) {
+ var me = this;
+ if(this.frm.doc.docstatus===1 && cint(wn.defaults.get_default("auto_inventory_accounting"))) {
cur_frm.add_custom_button('Accounting Ledger', function() {
wn.route_options = {
- "voucher_no": doc.name,
- "from_date": doc.posting_date,
- "to_date": doc.posting_date,
+ "voucher_no": me.frm.doc.name,
+ "from_date": me.frm.doc.posting_date,
+ "to_date": me.frm.doc.posting_date,
};
wn.set_route("general-ledger");
});
diff --git a/public/js/transaction.js b/public/js/transaction.js
index 7077e02..2cee843 100644
--- a/public/js/transaction.js
+++ b/public/js/transaction.js
@@ -15,8 +15,9 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
wn.provide("erpnext");
+wn.require("app/js/controllers/stock_controller.js");
-erpnext.TransactionController = wn.ui.form.Controller.extend({
+erpnext.TransactionController = erpnext.stock.StockController.extend({
onload: function() {
if(this.frm.doc.__islocal) {
var me = this,
@@ -55,7 +56,7 @@
onload_post_render: function() {
if(this.frm.doc.__islocal && this.frm.doc.company) {
var me = this;
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "onload_post_render",
freeze: true,
@@ -116,7 +117,7 @@
price_list_name: function(buying_or_selling) {
var me = this;
if(this.frm.doc.price_list_name) {
- this.frm.call({
+ return this.frm.call({
method: "setup.utils.get_price_list_currency",
args: {
price_list_name: this.frm.doc.price_list_name,
@@ -557,7 +558,7 @@
get_terms: function() {
var me = this;
if(this.frm.doc.tc_name) {
- this.frm.call({
+ return this.frm.call({
method: "webnotes.client.get_value",
args: {
doctype: "Terms and Conditions",
diff --git a/public/js/website_utils.js b/public/js/website_utils.js
index 519d630..f034be2 100644
--- a/public/js/website_utils.js
+++ b/public/js/website_utils.js
@@ -5,7 +5,7 @@
// Add / update a new Lead / Communication
// subject, sender, description
erpnext.send_message = function(opts) {
- wn.call({
+ return wn.call({
type: "POST",
method: "website.helpers.contact.send_message",
args: opts,
@@ -202,7 +202,7 @@
}
window.location.href = "login";
} else {
- wn.call({
+ return wn.call({
type: "POST",
method: "website.helpers.cart.update_cart",
args: {
diff --git a/selling/doctype/customer/customer.js b/selling/doctype/customer/customer.js
index cd530a2..935afb0 100644
--- a/selling/doctype/customer/customer.js
+++ b/selling/doctype/customer/customer.js
@@ -66,7 +66,7 @@
cur_frm.dashboard.add_doctype_badge("Delivery Note", "customer");
cur_frm.dashboard.add_doctype_badge("Sales Invoice", "customer");
- wn.call({
+ return wn.call({
type: "GET",
method:"selling.doctype.customer.customer.get_dashboard_info",
args: {
diff --git a/selling/doctype/installation_note/installation_note.js b/selling/doctype/installation_note/installation_note.js
index 5ad698a..b6f094f 100644
--- a/selling/doctype/installation_note/installation_note.js
+++ b/selling/doctype/installation_note/installation_note.js
@@ -78,7 +78,7 @@
customer: function() {
var me = this;
if(this.frm.doc.customer) {
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "set_customer_defaults",
});
@@ -93,7 +93,7 @@
customer_address: function() {
var me = this;
if(this.frm.doc.customer) {
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
args: {
customer: this.frm.doc.customer,
diff --git a/selling/doctype/opportunity/opportunity.js b/selling/doctype/opportunity/opportunity.js
index 80e565a..fb5bae5 100644
--- a/selling/doctype/opportunity/opportunity.js
+++ b/selling/doctype/opportunity/opportunity.js
@@ -86,15 +86,15 @@
customer: function() {
var me = this;
if(this.frm.doc.customer) {
- this.frm.call({
- doc: this.frm.doc,
- method: "set_customer_defaults",
- });
-
// TODO shift this to depends_on
unhide_field(['customer_address', 'contact_person', 'customer_name',
'address_display', 'contact_display', 'contact_mobile', 'contact_email',
'territory', 'customer_group']);
+
+ return this.frm.call({
+ doc: this.frm.doc,
+ method: "set_customer_defaults",
+ });
}
},
@@ -140,7 +140,7 @@
cur_frm.cscript.item_code = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if (d.item_code) {
- get_server_fields('get_item_details',d.item_code, 'enquiry_details',doc, cdt,cdn,1);
+ return get_server_fields('get_item_details',d.item_code, 'enquiry_details',doc, cdt,cdn,1);
}
}
@@ -165,7 +165,7 @@
}
cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) {
- if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
+ if(doc.customer) return get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
}
cur_frm.cscript.lead = function(doc, cdt, cdn) {
@@ -195,7 +195,7 @@
dialog.fields_dict.update.$input.click(function() {
args = dialog.get_values();
if(!args) return;
- cur_frm.call({
+ return cur_frm.call({
doc: cur_frm.doc,
method: "declare_enquiry_lost",
args: args.reason,
diff --git a/selling/doctype/quotation/quotation.js b/selling/doctype/quotation/quotation.js
index af49bb3..08ec6ab 100644
--- a/selling/doctype/quotation/quotation.js
+++ b/selling/doctype/quotation/quotation.js
@@ -114,7 +114,8 @@
cur_frm.cscript.lead = function(doc, cdt, cdn) {
if(doc.lead) {
- cur_frm.call({
+ unhide_field('territory');
+ return cur_frm.call({
doc: cur_frm.doc,
method: "set_lead_defaults",
callback: function(r) {
@@ -123,7 +124,6 @@
}
}
});
- unhide_field('territory');
}
}
@@ -152,7 +152,7 @@
dialog.fields_dict.update.$input.click(function() {
args = dialog.get_values();
if(!args) return;
- cur_frm.call({
+ return cur_frm.call({
method: "declare_order_lost",
doc: cur_frm.doc,
args: args.reason,
diff --git a/selling/doctype/sales_bom/sales_bom.js b/selling/doctype/sales_bom/sales_bom.js
index 7d79340..b67050c 100644
--- a/selling/doctype/sales_bom/sales_bom.js
+++ b/selling/doctype/sales_bom/sales_bom.js
@@ -18,7 +18,7 @@
cur_frm.toggle_enable('new_item_code', doc.__islocal);
if(!doc.__islocal) {
cur_frm.add_custom_button("Check for Duplicates", function() {
- cur_frm.call_server('check_duplicate', 1)
+ return cur_frm.call_server('check_duplicate', 1)
}, 'icon-search')
}
}
@@ -34,6 +34,6 @@
cur_frm.cscript.item_code = function(doc, dt, dn) {
var d = locals[dt][dn];
if (d.item_code){
- get_server_fields('get_item_details', d.item_code, 'sales_bom_items', doc ,dt, dn, 1);
+ return get_server_fields('get_item_details', d.item_code, 'sales_bom_items', doc ,dt, dn, 1);
}
}
\ No newline at end of file
diff --git a/selling/doctype/sales_common/sales_common.js b/selling/doctype/sales_common/sales_common.js
index d2461af..0f19fa2 100644
--- a/selling/doctype/sales_common/sales_common.js
+++ b/selling/doctype/sales_common/sales_common.js
@@ -135,7 +135,7 @@
msgprint(wn._("Please specify Company"));
} else {
var price_list_name = this.frm.doc.price_list_name;
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "set_customer_defaults",
freeze: true,
@@ -154,7 +154,7 @@
customer_address: function() {
var me = this;
if(this.frm.doc.customer) {
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
args: {
customer: this.frm.doc.customer,
@@ -183,7 +183,7 @@
item.item_code = null;
refresh_field("item_code", item.name, item.parentfield);
} else {
- this.frm.call({
+ return this.frm.call({
method: "selling.utils.get_item_details",
child: item,
args: {
@@ -292,7 +292,7 @@
warehouse: function(doc, cdt, cdn) {
var item = wn.model.get_doc(cdt, cdn);
if(item.item_code && item.warehouse) {
- this.frm.call({
+ return this.frm.call({
method: "selling.utils.get_available_qty",
child: item,
args: {
@@ -484,7 +484,7 @@
charge: function() {
var me = this;
if(this.frm.doc.charge) {
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "get_other_charges",
callback: function(r) {
@@ -499,7 +499,7 @@
shipping_rule: function() {
var me = this;
if(this.frm.doc.shipping_rule) {
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "apply_shipping_rule",
callback: function(r) {
diff --git a/selling/doctype/sales_order/sales_order.js b/selling/doctype/sales_order/sales_order.js
index 88442ea..8c1c2d2 100644
--- a/selling/doctype/sales_order/sales_order.js
+++ b/selling/doctype/sales_order/sales_order.js
@@ -101,7 +101,7 @@
reserved_warehouse: function(doc, cdt, cdn) {
var item = wn.model.get_doc(cdt, cdn);
if(item.item_code && item.reserved_warehouse) {
- this.frm.call({
+ return this.frm.call({
method: "selling.utils.get_available_qty",
child: item,
args: {
@@ -173,7 +173,7 @@
var check = confirm("Are you sure you want to STOP " + doc.name);
if (check) {
- $c('runserverobj', {
+ return $c('runserverobj', {
'method':'stop_sales_order',
'docs': wn.model.compress(make_doclist(doc.doctype, doc.name))
}, function(r,rt) {
@@ -188,7 +188,7 @@
var check = confirm("Are you sure you want to UNSTOP " + doc.name);
if (check) {
- $c('runserverobj', {
+ return $c('runserverobj', {
'method':'unstop_sales_order',
'docs': wn.model.compress(make_doclist(doc.doctype, doc.name))
}, function(r,rt) {
diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py
index 55abf9d..d578a43 100644
--- a/selling/doctype/sales_order/sales_order.py
+++ b/selling/doctype/sales_order/sales_order.py
@@ -375,7 +375,7 @@
target.amount = (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.basic_rate)
target.export_amount = (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.export_rate)
target.qty = flt(obj.qty) - flt(obj.delivered_qty)
-
+
doclist = get_mapped_doclist("Sales Order", source_name, {
"Sales Order": {
"doctype": "Delivery Note",
@@ -396,7 +396,8 @@
"parenttype": "prevdoc_doctype",
"reserved_warehouse": "warehouse"
},
- "postprocess": update_item
+ "postprocess": update_item,
+ "condition": lambda doc: doc.delivered_qty < doc.qty
},
"Sales Taxes and Charges": {
"doctype": "Sales Taxes and Charges",
@@ -416,7 +417,7 @@
target.export_amount = flt(obj.export_amount) - flt(obj.billed_amt)
target.amount = target.export_amount * flt(source_parent.conversion_rate)
target.qty = obj.export_rate and target.export_amount / flt(obj.export_rate) or obj.qty
-
+
doclist = get_mapped_doclist("Sales Order", source_name, {
"Sales Order": {
"doctype": "Sales Invoice",
diff --git a/selling/page/sales_browser/sales_browser.js b/selling/page/sales_browser/sales_browser.js
index 8506bc6..a1578cf 100644
--- a/selling/page/sales_browser/sales_browser.js
+++ b/selling/page/sales_browser/sales_browser.js
@@ -33,7 +33,7 @@
wrapper.make_tree = function() {
var ctype = wn.get_route()[1] || 'Territory';
- wn.call({
+ return wn.call({
method: 'selling.page.sales_browser.sales_browser.get_children',
args: {ctype: ctype},
callback: function(r) {
@@ -155,7 +155,7 @@
v.parent = node.data('label');
v.ctype = me.ctype;
- wn.call({
+ return wn.call({
method: 'selling.page.sales_browser.sales_browser.add_node',
args: v,
callback: function() {
diff --git a/setup/doctype/backup_manager/backup_manager.js b/setup/doctype/backup_manager/backup_manager.js
index c78be3a..870922e 100644
--- a/setup/doctype/backup_manager/backup_manager.js
+++ b/setup/doctype/backup_manager/backup_manager.js
@@ -43,7 +43,7 @@
allow_dropbox_access: function() {
if(cur_frm.cscript.validate_send_notifications_to()) {
- wn.call({
+ return wn.call({
method: "setup.doctype.backup_manager.backup_dropbox.get_dropbox_authorize_url",
callback: function(r) {
if(!r.exc) {
@@ -60,7 +60,7 @@
allow_gdrive_access: function() {
if(cur_frm.cscript.validate_send_notifications_to()) {
- wn.call({
+ return wn.call({
method: "setup.doctype.backup_manager.backup_googledrive.get_gdrive_authorize_url",
callback: function(r) {
if(!r.exc) {
@@ -72,7 +72,7 @@
},
validate_gdrive: function() {
- wn.call({
+ return wn.call({
method: "setup.doctype.backup_manager.backup_googledrive.gdrive_callback",
args: {
verification_code: cur_frm.doc.verification_code
diff --git a/setup/doctype/contact_control/contact_control.js b/setup/doctype/contact_control/contact_control.js
index db0ed91..5c8e571 100755
--- a/setup/doctype/contact_control/contact_control.js
+++ b/setup/doctype/contact_control/contact_control.js
@@ -5,7 +5,7 @@
// get sates on country trigger
// -----------------------------
cur_frm.cscript.get_states=function(doc,dt,dn){
- $c('runserverobj', args={'method':'check_state', 'docs':wn.model.compress(make_doclist(doc.doctype, doc.name))},
+ return $c('runserverobj', args={'method':'check_state', 'docs':wn.model.compress(make_doclist(doc.doctype, doc.name))},
function(r,rt){
if(r.message) {
set_field_options('state', r.message);
@@ -152,7 +152,7 @@
}));
if (!go_ahead) return;
- wn.call({
+ return wn.call({
method: 'webnotes.model.delete_doc',
args: {
dt: doctype,
diff --git a/setup/doctype/email_digest/email_digest.js b/setup/doctype/email_digest/email_digest.js
index 5206842..011718f 100644
--- a/setup/doctype/email_digest/email_digest.js
+++ b/setup/doctype/email_digest/email_digest.js
@@ -22,7 +22,7 @@
cur_frm.add_custom_button('View Now', function() {
doc = locals[dt][dn];
if(doc.__unsaved != 1) {
- $c_obj(make_doclist(dt, dn), 'get_digest_msg', '', function(r, rt) {
+ return $c_obj(make_doclist(dt, dn), 'get_digest_msg', '', function(r, rt) {
if(r.exc) {
msgprint(err_msg);
console.log(r.exc);
@@ -45,7 +45,7 @@
cur_frm.add_custom_button('Send Now', function() {
doc = locals[dt][dn];
if(doc.__unsaved != 1) {
- $c_obj(make_doclist(dt, dn), 'send', '', function(r, rt) {
+ return $c_obj(make_doclist(dt, dn), 'send', '', function(r, rt) {
if(r.exc) {
msgprint(err_msg);
console.log(r.exc);
@@ -62,7 +62,7 @@
cur_frm.cscript.addremove_recipients = function(doc, dt, dn) {
// Get profile list
- $c_obj(make_doclist(dt, dn), 'get_profiles', '', function(r, rt) {
+ return $c_obj(make_doclist(dt, dn), 'get_profiles', '', function(r, rt) {
if(r.exc) {
msgprint(r.exc);
} else {
diff --git a/setup/doctype/global_defaults/global_defaults.js b/setup/doctype/global_defaults/global_defaults.js
index fa80025..f629ee0 100644
--- a/setup/doctype/global_defaults/global_defaults.js
+++ b/setup/doctype/global_defaults/global_defaults.js
@@ -16,7 +16,7 @@
// Validate
cur_frm.cscript.validate = function(doc, cdt, cdn) {
- $c_obj(make_doclist(cdt, cdn), 'get_defaults', '', function(r, rt){
+ return $c_obj(make_doclist(cdt, cdn), 'get_defaults', '', function(r, rt){
sys_defaults = r.message;
});
}
\ No newline at end of file
diff --git a/setup/doctype/naming_series/naming_series.js b/setup/doctype/naming_series/naming_series.js
index 07d6f82..663b08f 100644
--- a/setup/doctype/naming_series/naming_series.js
+++ b/setup/doctype/naming_series/naming_series.js
@@ -16,7 +16,7 @@
// Settings
cur_frm.cscript.onload_post_render = function(doc, cdt, cdn){
- cur_frm.call({
+ return cur_frm.call({
doc: cur_frm.doc,
method: 'get_transactions',
callback: function(r) {
@@ -45,15 +45,15 @@
}
if(doc.select_doc_for_series)
- $c_obj(make_doclist(doc.doctype, doc.name),'get_options','',callback)
+ return $c_obj(make_doclist(doc.doctype, doc.name),'get_options','',callback)
}
cur_frm.cscript.update = function() {
- cur_frm.call_server('update_series', '', cur_frm.cscript.update_selects)
+ return cur_frm.call_server('update_series', '', cur_frm.cscript.update_selects)
}
cur_frm.cscript.prefix = function(doc, dt, dn) {
- cur_frm.call_server('get_current', '', function(r) {
+ return cur_frm.call_server('get_current', '', function(r) {
refresh_field('current_value');
})
}
diff --git a/setup/doctype/notification_control/notification_control.js b/setup/doctype/notification_control/notification_control.js
index 619d417..279f5b4 100644
--- a/setup/doctype/notification_control/notification_control.js
+++ b/setup/doctype/notification_control/notification_control.js
@@ -21,6 +21,6 @@
doc.custom_message = r.message;
refresh_field('custom_message');
}
- $c_obj(make_doclist(cdt, cdn),'get_message',doc.select_transaction, callback)
+ return $c_obj(make_doclist(cdt, cdn),'get_message',doc.select_transaction, callback)
}
}
diff --git a/setup/page/setup/setup.js b/setup/page/setup/setup.js
index db752b1..40b67d8 100644
--- a/setup/page/setup/setup.js
+++ b/setup/page/setup/setup.js
@@ -21,36 +21,7 @@
completed = 0;
body.html('<div class="progress progress-striped active">\
- <div class="progress-bar" style="width: 100%;"></div></div>')
-
- wn.call({
- method: "setup.page.setup.setup.get",
- callback: function(r) {
- if(r.message) {
- body.empty();
- if(wn.boot.expires_on) {
- $(body).prepend("<div class='text-muted' style='text-align:right'>Account expires on "
- + wn.datetime.global_date_format(wn.boot.expires_on) + "</div>");
- }
-
- $completed = $('<h4>Setup Completed <span class="completed-percent"></span><h4>\
- <div class="progress"><div class="progress-bar"></div></div>')
- .appendTo(body);
-
- $.each(r.message, function(i, item) {
- render_item(item)
- });
-
- var completed_percent = cint(flt(completed) / total * 100) + "%";
- $completed
- .find(".progress-bar")
- .css({"width": completed_percent});
- $(body)
- .find(".completed-percent")
- .html("(" + completed_percent + ")");
- }
- }
- });
+ <div class="progress-bar" style="width: 100%;"></div></div>');
var render_item = function(item, dependency) {
if(item.type==="Section") {
@@ -68,12 +39,12 @@
.appendTo(body);
$('<div class="col col-lg-1"></div>').appendTo(row);
-
+
if(item.type==="Link") {
var col = $('<div class="col col-lg-5"><b><a href="#'
+item.route+'"><i class="'+item.icon+'"></i> '
+item.title+'</a></b></div>').appendTo(row);
-
+
} else {
var col = $(repl('<div class="col col-lg-5">\
<span class="badge view-link">%(count)s</span>\
@@ -102,12 +73,12 @@
col.addClass("col-offset-1");
else
$('<div class="col col-lg-1"></div>').appendTo(row);
-
+
if(item.doctype) {
var badge = col.find(".badge, .data-link")
.attr("data-doctype", item.doctype)
.css({"cursor": "pointer"})
-
+
if(item.single) {
badge.click(function() {
wn.set_route("Form", $(this).attr("data-doctype"))
@@ -118,10 +89,10 @@
})
}
}
-
+
// tree
$links = $('<div class="col col-lg-5">').appendTo(row);
-
+
if(item.tree) {
$('<a class="view-link"><i class="icon-sitemap"></i> Browse</a>\
<span class="text-muted">|</span> \
@@ -134,7 +105,7 @@
mylink.click(function() {
wn.set_route(item.tree, item.doctype);
})
-
+
} else if(item.single) {
$('<a class="view-link"><i class="icon-edit"></i> Edit</a>')
.appendTo($links)
@@ -183,7 +154,7 @@
wn.route_options = {doctype:$(this).attr("data-doctype")}
wn.set_route("data-import-tool");
})
-
+
if(item.links) {
$.each(item.links, function(i, link) {
var newlinks = $('<span class="text-muted"> |</span> \
@@ -192,11 +163,40 @@
.appendTo($links)
})
}
-
+
if(item.dependencies) {
$.each(item.dependencies, function(i, d) {
render_item(d, true);
})
}
}
+
+ return wn.call({
+ method: "setup.page.setup.setup.get",
+ callback: function(r) {
+ if(r.message) {
+ body.empty();
+ if(wn.boot.expires_on) {
+ $(body).prepend("<div class='text-muted' style='text-align:right'>Account expires on "
+ + wn.datetime.global_date_format(wn.boot.expires_on) + "</div>");
+ }
+
+ $completed = $('<h4>Setup Completed <span class="completed-percent"></span><h4>\
+ <div class="progress"><div class="progress-bar"></div></div>')
+ .appendTo(body);
+
+ $.each(r.message, function(i, item) {
+ render_item(item)
+ });
+
+ var completed_percent = cint(flt(completed) / total * 100) + "%";
+ $completed
+ .find(".progress-bar")
+ .css({"width": completed_percent});
+ $(body)
+ .find(".completed-percent")
+ .html("(" + completed_percent + ")");
+ }
+ }
+ });
}
\ No newline at end of file
diff --git a/stock/doctype/delivery_note/delivery_note.js b/stock/doctype/delivery_note/delivery_note.js
index de6e9dc..0c47148 100644
--- a/stock/doctype/delivery_note/delivery_note.js
+++ b/stock/doctype/delivery_note/delivery_note.js
@@ -29,13 +29,15 @@
refresh: function(doc, dt, dn) {
this._super();
- if(flt(doc.per_billed, 2) < 100 && doc.docstatus==1) cur_frm.add_custom_button('Make Invoice', this.make_sales_invoice);
+ if(!doc.__billing_complete && doc.docstatus==1) cur_frm.add_custom_button('Make Invoice', this.make_sales_invoice);
if(flt(doc.per_installed, 2) < 100 && doc.docstatus==1)
cur_frm.add_custom_button('Make Installation Note', this.make_installation_note);
if (doc.docstatus==1) {
cur_frm.add_custom_button('Send SMS', cur_frm.cscript.send_sms);
+ this.show_stock_ledger();
+ this.show_general_ledger();
}
if(doc.docstatus==0 && !doc.__islocal) {
@@ -112,7 +114,7 @@
cur_frm.cscript.serial_no = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if (d.serial_no) {
- get_server_fields('get_serial_details',d.serial_no,'delivery_note_details',doc,cdt,cdn,1);
+ return get_server_fields('get_serial_details',d.serial_no,'delivery_note_details',doc,cdt,cdn,1);
}
}
diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py
index 7ea512d..81c4b6c 100644
--- a/stock/doctype/delivery_note/delivery_note.py
+++ b/stock/doctype/delivery_note/delivery_note.py
@@ -50,6 +50,13 @@
'keyword': 'Delivered'
}]
+ def onload(self):
+ billed_qty = webnotes.conn.sql("""select sum(ifnull(qty, 0)) from `tabSales Invoice Item`
+ where delivery_note=%s""", self.doc.name)
+ if billed_qty:
+ total_qty = sum((item.qty for item in self.doclist.get({"parentfield": "delivery_note_details"})))
+ self.doc.fields["__billing_complete"] = billed_qty[0][0] == total_qty
+
def get_contact_details(self):
return get_obj('Sales Common').get_contact_details(self,0)
diff --git a/stock/doctype/item/item.js b/stock/doctype/item/item.js
index 9af8331..a8401c4 100644
--- a/stock/doctype/item/item.js
+++ b/stock/doctype/item/item.js
@@ -51,7 +51,7 @@
var enabled = (r.message == 'exists') ? false : true;
cur_frm.toggle_enable(['has_serial_no', 'is_stock_item', 'valuation_method'], enabled);
}
- $c_obj(make_doclist(doc.doctype, doc.name),'check_if_sle_exists','',callback);
+ return $c_obj(make_doclist(doc.doctype, doc.name),'check_if_sle_exists','',callback);
}
}
@@ -130,7 +130,7 @@
cur_frm.cscript.tax_type = function(doc, cdt, cdn){
var d = locals[cdt][cdn];
- get_server_fields('get_tax_rate',d.tax_type,'item_tax',doc, cdt, cdn, 1);
+ return get_server_fields('get_tax_rate',d.tax_type,'item_tax',doc, cdt, cdn, 1);
}
diff --git a/stock/doctype/material_request/material_request.js b/stock/doctype/material_request/material_request.js
index bd5ab82..fe9af31 100644
--- a/stock/doctype/material_request/material_request.js
+++ b/stock/doctype/material_request/material_request.js
@@ -124,7 +124,7 @@
var check = confirm("Do you really want to STOP this Material Request?");
if (check) {
- $c('runserverobj', args={'method':'update_status', 'arg': 'Stopped', 'docs': wn.model.compress(make_doclist(doc.doctype, doc.name))}, function(r,rt) {
+ return $c('runserverobj', args={'method':'update_status', 'arg': 'Stopped', 'docs': wn.model.compress(make_doclist(doc.doctype, doc.name))}, function(r,rt) {
cur_frm.refresh();
});
}
@@ -135,7 +135,7 @@
var check = confirm("Do you really want to UNSTOP this Material Request?");
if (check) {
- $c('runserverobj', args={'method':'update_status', 'arg': 'Submitted','docs': wn.model.compress(make_doclist(doc.doctype, doc.name))}, function(r,rt) {
+ return $c('runserverobj', args={'method':'update_status', 'arg': 'Submitted','docs': wn.model.compress(make_doclist(doc.doctype, doc.name))}, function(r,rt) {
cur_frm.refresh();
});
}
diff --git a/stock/doctype/packing_slip/packing_slip.js b/stock/doctype/packing_slip/packing_slip.js
index e19ab49..d86d64b 100644
--- a/stock/doctype/packing_slip/packing_slip.js
+++ b/stock/doctype/packing_slip/packing_slip.js
@@ -36,7 +36,7 @@
}
cur_frm.cscript.get_items = function(doc, cdt, cdn) {
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "get_items",
callback: function(r) {
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.js b/stock/doctype/purchase_receipt/purchase_receipt.js
index a134da1..b393907 100644
--- a/stock/doctype/purchase_receipt/purchase_receipt.js
+++ b/stock/doctype/purchase_receipt/purchase_receipt.js
@@ -28,11 +28,14 @@
this._super();
if(this.frm.doc.docstatus == 1) {
- if(flt(this.frm.doc.per_billed, 2) < 100) {
+ if(!this.frm.doc.__billing_complete) {
cur_frm.add_custom_button('Make Purchase Invoice',
this.make_purchase_invoice);
}
cur_frm.add_custom_button('Send SMS', cur_frm.cscript['Send SMS']);
+
+ this.show_stock_ledger();
+ this.show_general_ledger();
}
cur_frm.add_custom_button(wn._('From Purchase Order'),
@@ -68,6 +71,10 @@
var item = wn.model.get_doc(cdt, cdn);
wn.model.round_floats_in(item, ["qty", "received_qty"]);
+ if(!(item.received_qty || item.rejected_qty) && item.qty) {
+ item.received_qty = item.qty;
+ }
+
if(item.qty > item.received_qty) {
msgprint(wn._("Error") + ": " + wn._(wn.meta.get_label(item.doctype, "qty", item.name))
+ " > " + wn._(wn.meta.get_label(item.doctype, "received_qty", item.name)));
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/stock/doctype/purchase_receipt/purchase_receipt.py
index 62b7a4f..703929c 100644
--- a/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -44,6 +44,13 @@
'source_field': 'qty',
'percent_join_field': 'prevdoc_docname',
}]
+
+ def onload(self):
+ billed_qty = webnotes.conn.sql("""select sum(ifnull(qty, 0)) from `tabPurchase Invoice Item`
+ where purchase_receipt=%s""", self.doc.name)
+ if billed_qty:
+ total_qty = sum((item.qty for item in self.doclist.get({"parentfield": "purchase_receipt_details"})))
+ self.doc.fields["__billing_complete"] = billed_qty[0][0] == total_qty
# get available qty at warehouse
def get_bin_details(self, arg = ''):
diff --git a/stock/doctype/serial_no/serial_no.js b/stock/doctype/serial_no/serial_no.js
index 0253ffb..8e833d7 100644
--- a/stock/doctype/serial_no/serial_no.js
+++ b/stock/doctype/serial_no/serial_no.js
@@ -54,7 +54,7 @@
// Supplier
//-------------
cur_frm.cscript.supplier = function(doc,dt,dn) {
- if(doc.supplier) get_server_fields('get_default_supplier_address', JSON.stringify({supplier: doc.supplier}),'', doc, dt, dn, 1);
+ if(doc.supplier) return get_server_fields('get_default_supplier_address', JSON.stringify({supplier: doc.supplier}),'', doc, dt, dn, 1);
if(doc.supplier) unhide_field(['supplier_name','address_display']);
}
diff --git a/stock/doctype/stock_entry/stock_entry.js b/stock/doctype/stock_entry/stock_entry.js
index 7032f92..4ade2ff 100644
--- a/stock/doctype/stock_entry/stock_entry.js
+++ b/stock/doctype/stock_entry/stock_entry.js
@@ -25,14 +25,14 @@
set_default_account: function() {
var me = this;
- if (sys_defaults.auto_inventory_accounting && !this.frm.doc.expense_adjustment_account) {
- if (this.frm.doc.purpose == "Sales Return")
+ if (cint(wn.defaults.get_default("auto_inventory_accounting")) && !this.frm.doc.expense_adjustment_account) {
+ if (this.frm.doc.purpose == "Sales Return")
account_for = "stock_in_hand_account";
else if (this.frm.doc.purpose == "Purchase Return")
account_for = "stock_received_but_not_billed";
else account_for = "stock_adjustment_account";
- this.frm.call({
+ return this.frm.call({
method: "accounts.utils.get_company_default",
args: {
"fieldname": account_for,
@@ -78,7 +78,7 @@
}
};
- if (sys_defaults.auto_inventory_accounting) {
+ if(cint(wn.defaults.get_default("auto_inventory_accounting"))) {
this.frm.add_fetch("company", "stock_adjustment_account", "expense_adjustment_account");
this.frm.fields_dict["expense_adjustment_account"].get_query = function() {
@@ -105,11 +105,8 @@
erpnext.hide_naming_series();
this.toggle_related_fields(this.frm.doc);
this.toggle_enable_bom();
- if (this.frm.doc.docstatus==1) {
- this.show_stock_ledger();
- if(wn.boot.auto_inventory_accounting)
- this.show_general_ledger();
- }
+ this.show_stock_ledger();
+ this.show_general_ledger();
if(this.frm.doc.docstatus === 1 &&
wn.boot.profile.can_create.indexOf("Journal Voucher")!==-1) {
@@ -142,7 +139,7 @@
},
get_items: function() {
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "get_items",
callback: function(r) {
@@ -160,7 +157,7 @@
production_order: function() {
this.toggle_enable_bom();
- this.frm.call({
+ return this.frm.call({
method: "get_production_order_details",
args: {production_order: this.frm.doc.production_order}
});
@@ -212,7 +209,7 @@
make_return_jv: function() {
if(this.get_doctype_docname()) {
- this.frm.call({
+ return this.frm.call({
method: "make_return_jv",
args: {
stock_entry: this.frm.doc.name
@@ -269,23 +266,23 @@
}
cur_frm.cscript.delivery_note_no = function(doc,cdt,cdn){
- if(doc.delivery_note_no) get_server_fields('get_cust_values','','',doc,cdt,cdn,1);
+ if(doc.delivery_note_no) return get_server_fields('get_cust_values','','',doc,cdt,cdn,1);
}
cur_frm.cscript.sales_invoice_no = function(doc,cdt,cdn){
- if(doc.sales_invoice_no) get_server_fields('get_cust_values','','',doc,cdt,cdn,1);
+ if(doc.sales_invoice_no) return get_server_fields('get_cust_values','','',doc,cdt,cdn,1);
}
cur_frm.cscript.customer = function(doc,cdt,cdn){
- if(doc.customer) get_server_fields('get_cust_addr','','',doc,cdt,cdn,1);
+ if(doc.customer) return get_server_fields('get_cust_addr','','',doc,cdt,cdn,1);
}
cur_frm.cscript.purchase_receipt_no = function(doc,cdt,cdn){
- if(doc.purchase_receipt_no) get_server_fields('get_supp_values','','',doc,cdt,cdn,1);
+ if(doc.purchase_receipt_no) return get_server_fields('get_supp_values','','',doc,cdt,cdn,1);
}
cur_frm.cscript.supplier = function(doc,cdt,cdn){
- if(doc.supplier) get_server_fields('get_supp_addr','','',doc,cdt,cdn,1);
+ if(doc.supplier) return get_server_fields('get_supp_addr','','',doc,cdt,cdn,1);
}
@@ -328,7 +325,7 @@
'serial_no' : d.serial_no,
'bom_no' : d.bom_no
};
- get_server_fields('get_item_details',JSON.stringify(args),'mtn_details',doc,cdt,cdn,1);
+ return get_server_fields('get_item_details',JSON.stringify(args),'mtn_details',doc,cdt,cdn,1);
}
cur_frm.cscript.s_warehouse = function(doc, cdt, cdn) {
@@ -341,7 +338,7 @@
'bom_no' : d.bom_no,
'qty' : d.s_warehouse ? -1* d.qty : d.qty
}
- get_server_fields('get_warehouse_details', JSON.stringify(args),
+ return get_server_fields('get_warehouse_details', JSON.stringify(args),
'mtn_details', doc, cdt, cdn, 1);
}
@@ -351,7 +348,7 @@
var d = locals[cdt][cdn];
if(d.uom && d.item_code){
var arg = {'item_code':d.item_code, 'uom':d.uom, 'qty':d.qty}
- get_server_fields('get_uom_details',JSON.stringify(arg),'mtn_details', doc, cdt, cdn, 1);
+ return get_server_fields('get_uom_details',JSON.stringify(arg),'mtn_details', doc, cdt, cdn, 1);
}
}
diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py
index 58f17c7..afa3eb4 100644
--- a/stock/doctype/stock_entry/stock_entry.py
+++ b/stock/doctype/stock_entry/stock_entry.py
@@ -554,7 +554,7 @@
`tabBOM Item`, `tabItem`
where
`tabBOM Item`.parent = %s and
- `tabBOM Item`.item_code = tabItem.name
+ `tabBOM Item`.item_code = tabItem.name and
`tabBOM Item`.docstatus < 2
group by item_code""", (qty, self.doc.bom_no), as_dict=1)
diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.js b/stock/doctype/stock_reconciliation/stock_reconciliation.js
index 2e0efd8..2db8cba 100644
--- a/stock/doctype/stock_reconciliation/stock_reconciliation.js
+++ b/stock/doctype/stock_reconciliation/stock_reconciliation.js
@@ -26,7 +26,7 @@
var me = this;
if (sys_defaults.auto_inventory_accounting && !this.frm.doc.expense_account) {
- this.frm.call({
+ return this.frm.call({
method: "accounts.utils.get_company_default",
args: {
"fieldname": "stock_adjustment_account",
@@ -68,6 +68,7 @@
} else if(this.frm.doc.docstatus == 1) {
this.frm.set_intro("Cancelling this Stock Reconciliation will nullify its effect.");
this.show_stock_ledger();
+ this.show_general_ledger();
} else {
this.frm.set_intro("");
}
diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
index d736ff6..86f5bff 100644
--- a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
+++ b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
@@ -21,7 +21,7 @@
item_code: function() {
if(cur_frm.doc.item_code) {
- cur_frm.call({
+ return cur_frm.call({
method: "get_stock_uom",
args: { item_code: cur_frm.doc.item_code }
});
diff --git a/stock/doctype/warehouse/warehouse.js b/stock/doctype/warehouse/warehouse.js
index 0e9cd33..902f66f 100644
--- a/stock/doctype/warehouse/warehouse.js
+++ b/stock/doctype/warehouse/warehouse.js
@@ -26,6 +26,6 @@
var check = confirm("Are you sure you want to merge this warehouse into "
+ doc.merge_with + "?");
if (check) {
- $c_obj(make_doclist(cdt, cdn), 'merge_warehouses', '', '');
+ return $c_obj(make_doclist(cdt, cdn), 'merge_warehouses', '', '');
}
}
\ No newline at end of file
diff --git a/support/doctype/customer_issue/customer_issue.js b/support/doctype/customer_issue/customer_issue.js
index 3620c7e..9535fba 100644
--- a/support/doctype/customer_issue/customer_issue.js
+++ b/support/doctype/customer_issue/customer_issue.js
@@ -26,13 +26,13 @@
customer: function() {
var me = this;
if(this.frm.doc.customer) {
- this.frm.call({
+ // TODO shift this to depends_on
+ unhide_field(['customer_address', 'contact_person']);
+
+ return this.frm.call({
doc: this.frm.doc,
method: "set_customer_defaults",
});
-
- // TODO shift this to depends_on
- unhide_field(['customer_address', 'contact_person']);
}
},
@@ -56,7 +56,7 @@
cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) {
if(doc.customer)
- get_server_fields('get_customer_address',
+ return get_server_fields('get_customer_address',
JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
}
diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.js b/support/doctype/maintenance_schedule/maintenance_schedule.js
index f8652d7..436caba 100644
--- a/support/doctype/maintenance_schedule/maintenance_schedule.js
+++ b/support/doctype/maintenance_schedule/maintenance_schedule.js
@@ -44,7 +44,7 @@
customer: function() {
var me = this;
if(this.frm.doc.customer) {
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "set_customer_defaults",
});
@@ -64,7 +64,7 @@
}
cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) {
- if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
+ if(doc.customer) return get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
}
cur_frm.fields_dict['customer_address'].get_query = function(doc, cdt, cdn) {
@@ -90,7 +90,7 @@
var fname = cur_frm.cscript.fname;
var d = locals[cdt][cdn];
if (d.item_code) {
- get_server_fields('get_item_details',d.item_code, 'item_maintenance_detail',doc,cdt,cdn,1);
+ return get_server_fields('get_item_details',d.item_code, 'item_maintenance_detail',doc,cdt,cdn,1);
}
}
@@ -101,7 +101,7 @@
arg.start_date = d.start_date;
arg.end_date = d.end_date;
arg.periodicity = d.periodicity;
- get_server_fields('get_no_of_visits',docstring(arg),'item_maintenance_detail',doc, cdt, cdn, 1);
+ return get_server_fields('get_no_of_visits',docstring(arg),'item_maintenance_detail',doc, cdt, cdn, 1);
}
else{
msgprint("Please enter Start Date and End Date");
@@ -110,7 +110,7 @@
cur_frm.cscript.generate_schedule = function(doc, cdt, cdn) {
if (!doc.__islocal) {
- $c('runserverobj', args={'method':'generate_schedule', 'docs':wn.model.compress(make_doclist(cdt,cdn))},
+ return $c('runserverobj', args={'method':'generate_schedule', 'docs':wn.model.compress(make_doclist(cdt,cdn))},
function(r,rt){
refresh_field('maintenance_schedule_detail');
}
diff --git a/support/doctype/maintenance_visit/maintenance_visit.js b/support/doctype/maintenance_visit/maintenance_visit.js
index 9f5fc5d..4257afa 100644
--- a/support/doctype/maintenance_visit/maintenance_visit.js
+++ b/support/doctype/maintenance_visit/maintenance_visit.js
@@ -62,13 +62,13 @@
customer: function() {
var me = this;
if(this.frm.doc.customer) {
- this.frm.call({
+ // TODO shift this to depends_on
+ cur_frm.cscript.hide_contact_info();
+
+ return this.frm.call({
doc: this.frm.doc,
method: "set_customer_defaults",
});
-
- // TODO shift this to depends_on
- cur_frm.cscript.hide_contact_info();
}
},
});
@@ -86,7 +86,7 @@
}
cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) {
- if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
+ if(doc.customer) return get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
}
cur_frm.fields_dict['customer_address'].get_query = function(doc, cdt, cdn) {
@@ -111,7 +111,7 @@
var fname = cur_frm.cscript.fname;
var d = locals[cdt][cdn];
if (d.item_code) {
- get_server_fields('get_item_details',d.item_code, 'maintenance_visit_details',doc,cdt,cdn,1);
+ return get_server_fields('get_item_details',d.item_code, 'maintenance_visit_details',doc,cdt,cdn,1);
}
}
diff --git a/support/doctype/newsletter/newsletter.js b/support/doctype/newsletter/newsletter.js
index b7e24d2..5842acc 100644
--- a/support/doctype/newsletter/newsletter.js
+++ b/support/doctype/newsletter/newsletter.js
@@ -19,7 +19,7 @@
if(!doc.__islocal && !cint(doc.email_sent) && !doc.__unsaved
&& inList(wn.boot.profile.can_write, doc.doctype)) {
cur_frm.add_custom_button('Send', function() {
- $c_obj(make_doclist(doc.doctype, doc.name), 'send_emails', '', function(r) {
+ return $c_obj(make_doclist(doc.doctype, doc.name), 'send_emails', '', function(r) {
cur_frm.refresh();
});
})
@@ -30,7 +30,7 @@
repl("%(fullname)s <%(email)s>", wn.user_info(doc.owner)));
}
- wn.call({
+ return wn.call({
method: "support.doctype.newsletter.newsletter.get_lead_options",
type: "GET",
callback: function(r) {
diff --git a/support/doctype/support_ticket/support_ticket.js b/support/doctype/support_ticket/support_ticket.js
index d8cc798..34cc5ef 100644
--- a/support/doctype/support_ticket/support_ticket.js
+++ b/support/doctype/support_ticket/support_ticket.js
@@ -23,7 +23,7 @@
customer: function() {
var me = this;
if(this.frm.doc.customer) {
- this.frm.call({
+ return this.frm.call({
doc: this.frm.doc,
method: "set_customer_defaults",
});
@@ -93,7 +93,7 @@
},
set_status: function(status) {
- wn.call({
+ return wn.call({
method:"support.doctype.support_ticket.support_ticket.set_status",
args: {
name: cur_frm.doc.name,
diff --git a/utilities/doctype/rename_tool/rename_tool.js b/utilities/doctype/rename_tool/rename_tool.js
index 66a4399..bba7573 100644
--- a/utilities/doctype/rename_tool/rename_tool.js
+++ b/utilities/doctype/rename_tool/rename_tool.js
@@ -1,5 +1,5 @@
cur_frm.cscript.refresh = function(doc) {
- wn.call({
+ return wn.call({
method:"utilities.doctype.rename_tool.rename_tool.get_doctypes",
callback: function(r) {
cur_frm.set_df_property("select_doctype", "options", r.message);
diff --git a/utilities/doctype/sms_control/sms_control.js b/utilities/doctype/sms_control/sms_control.js
index e56315c..e6e14f7 100644
--- a/utilities/doctype/sms_control/sms_control.js
+++ b/utilities/doctype/sms_control/sms_control.js
@@ -17,7 +17,7 @@
function SMSManager() {
var me = this;
this.get_contact_number = function(contact, key, value) {
- $c_obj('SMS Control', 'get_contact_number', {
+ return $c_obj('SMS Control', 'get_contact_number', {
contact_name:contact,
value:value,
key:key
@@ -63,7 +63,7 @@
var v = me.dialog.get_values();
if(v) {
$(this).set_working();
- $c_obj('SMS Control', 'send_form_sms', v, function(r,rt) {
+ return $c_obj('SMS Control', 'send_form_sms', v, function(r,rt) {
$(this).done_working();
if(r.exc) {msgprint(r.exc); return; }
msgprint('Message Sent');
diff --git a/website/templates/js/cart.js b/website/templates/js/cart.js
index a22b9f3..ffa084a 100644
--- a/website/templates/js/cart.js
+++ b/website/templates/js/cart.js
@@ -18,7 +18,7 @@
$(document).ready(function() {
wn.cart.bind_events();
- wn.call({
+ return wn.call({
type: "POST",
method: "website.helpers.cart.get_cart_quotation",
callback: function(r) {
@@ -204,7 +204,7 @@
},
apply_shipping_rule: function(rule, btn) {
- wn.call({
+ return wn.call({
btn: btn,
type: "POST",
method: "website.helpers.cart.apply_shipping_rule",
@@ -257,7 +257,7 @@
}
});
- wn.call({
+ return wn.call({
type: "POST",
method: "website.helpers.cart.update_cart_address",
args: {
@@ -288,7 +288,7 @@
},
place_order: function() {
- wn.call({
+ return wn.call({
type: "POST",
method: "website.helpers.cart.place_order",
callback: function(r) {