diff --git a/buying/doctype/quality_inspection/quality_inspection.js b/buying/doctype/quality_inspection/quality_inspection.js index 8c7c9328a2..f3517b457c 100644 --- a/buying/doctype/quality_inspection/quality_inspection.js +++ b/buying/doctype/quality_inspection/quality_inspection.js @@ -1,11 +1,6 @@ // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. // License: GNU General Public License v3. See license.txt -cur_frm.cscript.item_code = function(doc, cdt, cdn) { - if (doc.item_code) - return get_server_fields('get_purchase_receipt_item_details','','',doc,cdt,cdn,1); -} - cur_frm.cscript.inspection_type = function(doc, cdt, cdn) { if(doc.inspection_type == 'Incoming'){ doc.delivery_note_no = ''; @@ -30,13 +25,22 @@ cur_frm.cscript.refresh = cur_frm.cscript.inspection_type; // item code based on GRN/DN cur_frm.fields_dict['item_code'].get_query = function(doc, cdt, cdn) { - var filter = {}; - if (doc.purchase_receipt_no) filter['parent'] = doc.purchase_receipt_no; - - else if (doc.delivery_note_no) filter['parent'] = doc.delivery_note_no; - - return{ - filters: filter + if (doc.purchase_receipt_no) { + return { + query: "buying.doctype.quality_inspection.quality_inspection.item_query", + filters: { + "from": "Purchase Receipt Item", + "parent": doc.purchase_receipt_no + } + } + } else if (doc.delivery_note_no) { + return { + query: "buying.doctype.quality_inspection.quality_inspection.item_query", + filters: { + "from": "Delivery Note Item", + "parent": doc.delivery_note_no + } + } } } diff --git a/buying/doctype/quality_inspection/quality_inspection.py b/buying/doctype/quality_inspection/quality_inspection.py index 19b2d2aabe..3380bd6e1f 100644 --- a/buying/doctype/quality_inspection/quality_inspection.py +++ b/buying/doctype/quality_inspection/quality_inspection.py @@ -33,3 +33,17 @@ class DocType: webnotes.conn.sql("update `tabPurchase Receipt Item` t1, `tabPurchase Receipt` t2 set t1.qa_no = '', t2.modified = '%s' \ where t1.parent = '%s' and t1.item_code = '%s' and t1.parent = t2.name" \ % (self.doc.modified, self.doc.purchase_receipt_no, self.doc.item_code)) + + +def item_query(doctype, txt, searchfield, start, page_len, filters): + if filters.get("from"): + from webnotes.widgets.reportview import get_match_cond + filters.update({ + "txt": txt, + "mcond": get_match_cond(filters["from"], searchfield), + "start": start, + "page_len": page_len + }) + return webnotes.conn.sql("""select item_code from `tab%(from)s` + where parent='%(parent)s' and docstatus < 2 and item_code like '%%%(txt)s%%' %(mcond)s + order by item_code limit %(start)s, %(page_len)s""" % filters) \ No newline at end of file