Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.js b/accounts/doctype/purchase_invoice/purchase_invoice.js
index e71a408..b00cfea 100644
--- a/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -172,16 +172,13 @@
}
}
-cur_frm.fields_dict['entries'].grid.get_field("expense_head").get_query = function(doc) {
+cur_frm.set_query("expense_head", "entries", function(doc) {
return{
- filters:{
- 'debit_or_credit':'Debit',
- 'account_type': 'Expense Account',
- 'group_or_ledger': 'Ledger',
- 'company': doc.company
- }
- }
-}
+ query: "accounts.doctype.purchase_invoice.purchase_invoice.get_expense_account",
+ filters: {'company': doc.company}
+ }
+});
+
cur_frm.cscript.expense_head = function(doc, cdt, cdn){
var d = locals[cdt][cdn];
if(d.idx == 1 && d.expense_head){
diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.py b/accounts/doctype/purchase_invoice/purchase_invoice.py
index 9e220fd..3f94de3 100644
--- a/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -252,14 +252,14 @@
self.doc.against_expense_account = ",".join(against_accounts)
def po_required(self):
- if webnotes.conn.get_single_value("Buying Settings", "po_required") == 'Yes':
+ if webnotes.conn.get_value("Buying Settings", None, "po_required") == 'Yes':
for d in getlist(self.doclist,'entries'):
if not d.purchase_order:
msgprint("Purchse Order No. required against item %s"%d.item_code)
raise Exception
def pr_required(self):
- if webnotes.conn.get_single_value("Buying Settings", "pr_required") == 'Yes':
+ if webnotes.conn.get_value("Buying Settings", None, "pr_required") == 'Yes':
for d in getlist(self.doclist,'entries'):
if not d.purchase_receipt:
msgprint("Purchase Receipt No. required against item %s"%d.item_code)
@@ -457,4 +457,18 @@
"UOM Conversion Detail", {"parent": d.item_code, "uom": d.uom},
"conversion_factor")) or 1
- d.rm_supp_cost = rm_cost * flt(d.qty) * flt(d.conversion_factor)
\ No newline at end of file
+ d.rm_supp_cost = rm_cost * flt(d.qty) * flt(d.conversion_factor)
+
+@webnotes.whitelist()
+def get_expense_account(doctype, txt, searchfield, start, page_len, filters):
+ from controllers.queries import get_match_cond
+
+ return webnotes.conn.sql("""select tabAccount.name from `tabAccount`
+ where (tabAccount.debit_or_credit="Debit"
+ or tabAccount.account_type = "Expense Account")
+ and tabAccount.group_or_ledger="Ledger"
+ and tabAccount.docstatus!=2
+ and tabAccount.company = '%(company)s'
+ and tabAccount.%(key)s LIKE '%(txt)s'
+ %(mcond)s""" % {'company': filters['company'], 'key': searchfield,
+ 'txt': "%%%s%%" % txt, 'mcond':get_match_cond(doctype, searchfield)})
\ No newline at end of file
diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py
index 09df5f6..adadcc8 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/accounts/doctype/sales_invoice/sales_invoice.py
@@ -430,8 +430,8 @@
def so_dn_required(self):
"""check in manage account if sales order / delivery note required or not."""
dic = {'Sales Order':'so_required','Delivery Note':'dn_required'}
- for i in dic:
- if webnotes.conn.get_single_value('Selling Settings', dic[i]) == 'Yes':
+ for i in dic:
+ if webnotes.conn.get_value('Selling Settings', None, dic[i]) == 'Yes':
for d in getlist(self.doclist,'entries'):
if webnotes.conn.get_value('Item', d.item_code, 'is_stock_item') == 'Yes' \
and not d.fields[i.lower().replace(' ','_')]:
@@ -979,6 +979,7 @@
"cash_bank_account": val
}
+@webnotes.whitelist()
def get_income_account(doctype, txt, searchfield, start, page_len, filters):
from controllers.queries import get_match_cond
diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py
index 25a70b6..5df531e 100644
--- a/stock/doctype/delivery_note/delivery_note.py
+++ b/stock/doctype/delivery_note/delivery_note.py
@@ -85,7 +85,7 @@
def so_required(self):
"""check in manage account if sales order required or not"""
- if webnotes.conn.get_single_value("Selling Settings", 'so_required') == 'Yes':
+ if webnotes.conn.get_value("Selling Settings", None, 'so_required') == 'Yes':
for d in getlist(self.doclist,'delivery_note_details'):
if not d.prevdoc_docname:
msgprint("Sales Order No. required against item %s"%d.item_code)
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/stock/doctype/purchase_receipt/purchase_receipt.py
index 703929c..9daff8f 100644
--- a/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -118,7 +118,7 @@
def po_required(self):
- if webnotes.conn.get_single_value("Buying Settings", "po_required") == 'Yes':
+ if webnotes.conn.get_value("Buying Settings", None, "po_required") == 'Yes':
for d in getlist(self.doclist,'purchase_receipt_details'):
if not d.prevdoc_docname:
msgprint("Purchse Order No. required against item %s"%d.item_code)