Patch optimization (#13060)
* Patch fixes
* fix codacy
* Update item_barcode_childtable_migrate.py
diff --git a/erpnext/patches/v10_0/item_barcode_childtable_migrate.py b/erpnext/patches/v10_0/item_barcode_childtable_migrate.py
index d985bbf..e925952 100644
--- a/erpnext/patches/v10_0/item_barcode_childtable_migrate.py
+++ b/erpnext/patches/v10_0/item_barcode_childtable_migrate.py
@@ -7,16 +7,20 @@
def execute():
- items_barcode = frappe.db.sql("""SELECT name, barcode FROM tabItem
- WHERE barcode IS NOT NULL and barcode != ''""", as_dict=1)
+ items_barcode = frappe.get_list('Item', ['name', 'barcode'], { 'barcode': ('!=', '') })
frappe.reload_doc("stock", "doctype", "item")
frappe.reload_doc("stock", "doctype", "item_barcode")
for item in items_barcode:
- doc = frappe.get_doc("Item", item.get("name"))
- if item.get("barcode"):
- doc.append("barcodes", {"barcode": item.get("barcode")})
- doc.flags.ignore_validate = True
- doc.flags.ignore_mandatory = True
- doc.save()
\ No newline at end of file
+ barcode = item.barcode.strip()
+
+ if barcode and '<' not in barcode:
+ frappe.get_doc({
+ 'idx': 0,
+ 'doctype': 'Item Barcode',
+ 'barcode': barcode,
+ 'parenttype': 'Item',
+ 'parent': item.name,
+ 'parentfield': 'barcodes'
+ }).insert()
diff --git a/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py b/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py
index beffc19..658cabb 100644
--- a/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py
+++ b/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py
@@ -12,6 +12,7 @@
if not po_item:
return
+ frappe.reload_doc("stock", "doctype", "bin")
frappe.reload_doc("buying", "doctype", "purchase_order_item_supplied")
company_warehouse = frappe._dict(frappe.db.sql("""select company, min(name) from `tabWarehouse`
where is_group = 0 group by company"""))
@@ -30,7 +31,7 @@
# Update bin
item_wh_bin = frappe.db.sql(("""
- select distinct poitemsup.rm_item_code as rm_item_code,
+ select distinct poitemsup.rm_item_code as rm_item_code,
poitemsup.reserve_warehouse as reserve_warehouse
from `tabPurchase Order` po, `tabPurchase Order Item Supplied` poitemsup
where po.name = poitemsup.parent