diff --git a/buying/doctype/purchase_common/purchase_common.py b/buying/doctype/purchase_common/purchase_common.py index 6d8be0e79b3..b480caffc7d 100644 --- a/buying/doctype/purchase_common/purchase_common.py +++ b/buying/doctype/purchase_common/purchase_common.py @@ -36,13 +36,13 @@ class DocType(BuyingController): 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) + webnotes.throw(_("Row ") + cstr(d.idx) + ": " + + _("UOM Conversion Factor is mandatory")) # update last purchsae rate if last_purchase_rate: - webnotes.conn.sql("update `tabItem` set last_purchase_rate = %s where name = %s", - (flt(last_purchase_rate),d.item_code)) + webnotes.conn.sql("""update `tabItem` set last_purchase_rate = %s where name = %s""", + (flt(last_purchase_rate), d.item_code)) def get_last_purchase_rate(self, obj): """get last purchase rates for all items""" @@ -74,11 +74,11 @@ class DocType(BuyingController): for d in getlist( obj.doclist, obj.fname): # validation for valid qty if flt(d.qty) < 0 or (d.parenttype != 'Purchase Receipt' and not flt(d.qty)): - msgprint("Please enter valid qty for item %s" % cstr(d.item_code)) - raise Exception + webnotes.throw("Please enter valid qty for item %s" % cstr(d.item_code)) # udpate with latest quantities - bin = webnotes.conn.sql("select projected_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) + bin = webnotes.conn.sql("""select projected_qty from `tabBin` where + item_code = %s and warehouse = %s""", (d.item_code, d.warehouse), as_dict=1) f_lst ={'projected_qty': bin and flt(bin[0]['projected_qty']) or 0, 'ordered_qty': 0, 'received_qty' : 0} if d.doctype == 'Purchase Receipt Item': @@ -87,22 +87,21 @@ class DocType(BuyingController): if d.fields.has_key(x): d.fields[x] = f_lst[x] - item = webnotes.conn.sql("select is_stock_item, is_purchase_item, is_sub_contracted_item, end_of_life from tabItem where name=%s", - d.item_code) + item = webnotes.conn.sql("""select is_stock_item, is_purchase_item, + is_sub_contracted_item, end_of_life from `tabItem` where name=%s""", d.item_code) if not item: - msgprint("Item %s does not exist in Item Master." % cstr(d.item_code), raise_exception=True) + webnotes.throw("Item %s does not exist in Item Master." % cstr(d.item_code)) from stock.utils import validate_end_of_life validate_end_of_life(d.item_code, item[0][3]) # validate stock item if item[0][0]=='Yes' and d.qty and not d.warehouse: - msgprint("Warehouse is mandatory for %s, since it is a stock item" % - d.item_code, raise_exception=1) + webnotes.throw("Warehouse is mandatory for %s, since it is a stock item" % d.item_code) # validate purchase item if item[0][1] != 'Yes' and item[0][2] != 'Yes': - msgprint("Item %s is not a purchase item or sub-contracted item. Please check" % (d.item_code), raise_exception=True) + webnotes.throw("Item %s is not a purchase item or sub-contracted item. Please check" % (d.item_code)) # list criteria that should not repeat if item is stock item e = [d.schedule_date, d.item_code, d.description, d.warehouse, d.uom, @@ -113,25 +112,25 @@ class DocType(BuyingController): # if is not stock item f = [d.schedule_date, d.item_code, d.description] - ch = webnotes.conn.sql("select is_stock_item from `tabItem` where name = '%s'"%d.item_code) + ch = webnotes.conn.sql("""select is_stock_item from `tabItem` where name = %s""", d.item_code) if ch and ch[0][0] == 'Yes': # check for same items if e in check_list: - msgprint("""Item %s has been entered more than once with same description, schedule date, warehouse and uom.\n - Please change any of the field value to enter the item twice""" % d.item_code, raise_exception = 1) + webnotes.throw("""Item %s has been entered more than once with same description, schedule date, warehouse and uom.\n + Please change any of the field value to enter the item twice""" % d.item_code) else: check_list.append(e) elif ch and ch[0][0] == 'No': # check for same items if f in chk_dupl_itm: - msgprint("""Item %s has been entered more than once with same description, schedule date.\n - Please change any of the field value to enter the item twice.""" % d.item_code, raise_exception = 1) + webnotes.throw("""Item %s has been entered more than once with same description, schedule date.\n + Please change any of the field value to enter the item twice.""" % d.item_code) else: chk_dupl_itm.append(f) - def get_qty(self,curr_doctype,ref_tab_fname,ref_tab_dn,ref_doc_tname, transaction, curr_parent_name): + def get_qty(self, curr_doctype, ref_tab_fname, ref_tab_dn, ref_doc_tname, transaction, curr_parent_name): # Get total Quantities of current doctype (eg. PR) except for qty of this transaction #------------------------------ # please check as UOM changes from Material Request - Purchase Order ,so doing following else uom should be same . @@ -139,35 +138,36 @@ class DocType(BuyingController): # but if in Material Request uom KG it can change in PO get_qty = (transaction == 'Material Request - Purchase Order') and 'qty * conversion_factor' or 'qty' - qty = webnotes.conn.sql("select sum(%s) from `tab%s` where %s = '%s' and docstatus = 1 and parent != '%s'"% ( get_qty, curr_doctype, ref_tab_fname, ref_tab_dn, curr_parent_name)) + qty = webnotes.conn.sql("""select sum(%s) from `tab%s` where %s = %s and + docstatus = 1 and parent != %s""", (get_qty, curr_doctype, ref_tab_fname, ref_tab_dn, curr_parent_name)) qty = qty and flt(qty[0][0]) or 0 # get total qty of ref doctype #-------------------- - max_qty = webnotes.conn.sql("select qty from `tab%s` where name = '%s' and docstatus = 1"% (ref_doc_tname, ref_tab_dn)) + max_qty = webnotes.conn.sql("""select qty from `tab%s` where name = %s + and docstatus = 1""", (ref_doc_tname, ref_tab_dn)) max_qty = max_qty and flt(max_qty[0][0]) or 0 return cstr(qty)+'~~~'+cstr(max_qty) def check_for_stopped_status(self, doctype, docname): - stopped = webnotes.conn.sql("select name from `tab%s` where name = '%s' and status = 'Stopped'" % - ( doctype, docname)) + stopped = webnotes.conn.sql("""select name from `tab%s` where name = '%s' and + status = 'Stopped'""", (doctype, docname)) if stopped: - msgprint("One cannot do any transaction against %s : %s, it's status is 'Stopped'" % - ( doctype, docname), raise_exception=1) + webnotes.throw("One cannot do any transaction against %s : %s, it's status is 'Stopped'" % + (doctype, docname)) - def check_docstatus(self, check, doctype, docname , detail_doctype = ''): + def check_docstatus(self, check, doctype, docname, detail_doctype = ''): if check == 'Next': submitted = webnotes.conn.sql("""select t1.name from `tab%s` t1,`tab%s` t2 where t1.name = t2.parent and t2.prevdoc_docname = %s and t1.docstatus = 1""" % (doctype, detail_doctype, '%s'), docname) if submitted: - msgprint(cstr(doctype) + ": " + cstr(submitted[0][0]) - + _(" has already been submitted."), raise_exception=1) + webnotes.throw(cstr(doctype) + ": " + cstr(submitted[0][0]) + + _("has already been submitted.")) if check == 'Previous': submitted = webnotes.conn.sql("""select name from `tab%s` - where docstatus = 1 and name = %s"""% (doctype, '%s'), docname) + where docstatus = 1 and name = %s""" % (doctype, '%s'), docname) if not submitted: - msgprint(cstr(doctype) + ": " + cstr(submitted[0][0]) - + _(" not submitted"), raise_exception=1) + webnotes.throw(cstr(doctype) + ": " + cstr(submitted[0][0]) + _("not submitted")) diff --git a/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/manufacturing/doctype/production_planning_tool/production_planning_tool.py index 17db5f4f851..c1185a1b128 100644 --- a/manufacturing/doctype/production_planning_tool/production_planning_tool.py +++ b/manufacturing/doctype/production_planning_tool/production_planning_tool.py @@ -154,20 +154,20 @@ class DocType: for d in getlist(self.doclist, 'pp_details'): self.validate_bom_no(d) if not flt(d.planned_qty): - webnotes.throw(_("Please Enter Planned Qty for item: %s at row no: %s") % + webnotes.throw("Please Enter Planned Qty for item: %s at row no: %s" % (d.item_code, d.idx)) def validate_bom_no(self, d): if not d.bom_no: - webnotes.throw(_("Please enter bom no for item: %s at row no: %s") % + webnotes.throw("Please enter bom no for item: %s at row no: %s" % (d.item_code, d.idx)) else: bom = webnotes.conn.sql("""select name from `tabBOM` where name = %s and item = %s and docstatus = 1 and is_active = 1""", (d.bom_no, d.item_code), as_dict = 1) if not bom: - webnotes.throw(_("""Incorrect BOM No: %s entered for item: %s at row no: %s - May be BOM is inactive or for other item or does not exists in the system""") % + webnotes.throw("""Incorrect BOM No: %s entered for item: %s at row no: %s + May be BOM is inactive or for other item or does not exists in the system""" % (d.bom_no, d.item_doce, d.idx)) def raise_production_order(self): @@ -290,11 +290,12 @@ class DocType: for item_details in self.item_dict[item]: item_list.append([item, item_details[1], item_details[2], item_details[0]]) item_qty = webnotes.conn.sql("""select warehouse, indented_qty, ordered_qty, actual_qty - from `tabBin` where item_code = %s""", item) + from `tabBin` where item_code = %s""", item, as_dict=1) i_qty, o_qty, a_qty = 0, 0, 0 for w in item_qty: - i_qty, o_qty, a_qty = i_qty + flt(w[1]), o_qty + flt(w[2]), a_qty + flt(w[3]) - item_list.append(['', '', '', '', w[0], flt(w[1]), flt(w[2]), flt(w[3])]) + i_qty, o_qty, a_qty = i_qty + flt(w.indented_qty), o_qty + flt(w.ordered_qty), a_qty + flt(w.actual_qty) + item_list.append(['', '', '', '', w.warehouse, flt(w.indented_qty), + flt(w.ordered_qty), flt(w.actual_qty)]) if item_qty: item_list.append(['', '', '', '', 'Total', i_qty, o_qty, a_qty]) @@ -405,7 +406,7 @@ class DocType: if purchase_request_list: pur_req = ["""%s""" % \ (p, p) for p in purchase_request_list] - msgprint(_("Material Request(s) created: \n%s") % + msgprint("Material Request(s) created: \n%s" % "\n".join(pur_req)) else: msgprint(_("Nothing to request")) \ No newline at end of file diff --git a/stock/doctype/material_request/material_request.py b/stock/doctype/material_request/material_request.py index 67d36eff1b0..50661a316ae 100644 --- a/stock/doctype/material_request/material_request.py +++ b/stock/doctype/material_request/material_request.py @@ -38,18 +38,18 @@ class DocType(BuyingController): for so_no in so_items.keys(): for item in so_items[so_no].keys(): already_indented = webnotes.conn.sql("""select sum(qty) from `tabMaterial Request Item` - where item_code = '%s' and sales_order_no = '%s' and - docstatus = 1 and parent != '%s'""" % (item, so_no, self.doc.name)) + where item_code = %s and sales_order_no = %s and + docstatus = 1 and parent != %s""", (item, so_no, self.doc.name)) already_indented = already_indented and flt(already_indented[0][0]) or 0 actual_so_qty = webnotes.conn.sql("""select sum(qty) from `tabSales Order Item` - where parent = '%s' and item_code = '%s' and docstatus = 1 - group by parent""" % (so_no, item)) + where parent = %s and item_code = %s and docstatus = 1 + group by parent""", (so_no, item)) actual_so_qty = actual_so_qty and flt(actual_so_qty[0][0]) or 0 if actual_so_qty and (flt(so_items[so_no][item]) + already_indented > actual_so_qty): - webnotes.throw(_("You can raise indent of maximum qty: %s for item: %s against sales order: %s\ - \n Anyway, you can add more qty in new row for the same item.") + webnotes.throw("You can raise indent of maximum qty: %s for item: %s against sales order: %s\ + \n Anyway, you can add more qty in new row for the same item." % (actual_so_qty - already_indented, item, so_no)) def validate_schedule_date(self): @@ -105,8 +105,10 @@ class DocType(BuyingController): self.update_bin(is_submit = 1, is_stopped = 0) def check_modified_date(self): - mod_db = webnotes.conn.sql("select modified from `tabMaterial Request` where name = '%s'" % self.doc.name) - date_diff = webnotes.conn.sql("select TIMEDIFF('%s', '%s')" % (mod_db[0][0], cstr(self.doc.modified))) + mod_db = webnotes.conn.sql("""select modified from `tabMaterial Request` where name = %s""", + self.doc.name) + date_diff = webnotes.conn.sql("""select TIMEDIFF('%s', '%s')""" + % (mod_db[0][0], cstr(self.doc.modified))) if date_diff and date_diff[0][0]: webnotes.throw(cstr(self.doc.doctype) + " => " + cstr(self.doc.name) + " has been modified. Please Refresh.") @@ -120,7 +122,7 @@ class DocType(BuyingController): webnotes.conn.set(self.doc, 'status', cstr(status)) # Step 3:=> Acknowledge User - msgprint(self.doc.doctype + ": " + self.doc.name + _(" has been %s.") % ((status == 'Submitted') and 'Unstopped' or cstr(status)) ) + msgprint(self.doc.doctype + ": " + self.doc.name + " has been %s." % ((status == 'Submitted') and 'Unstopped' or cstr(status))) def on_cancel(self):