[Fix] Status updater for sales order in purchase order (#6944)
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 54ca07b..197928a 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -231,6 +231,7 @@
"target_parent_dt": "Sales Order",
"target_dt": "Sales Order Item",
'target_field': 'ordered_qty',
+ "join_field": "sales_order_item",
"target_parent_field": ''
})
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index fcddc8f..da09e26 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -271,19 +271,19 @@
%(update_modified)s
where name='%(name)s'""" % args)
- # update field
- if args.get('status_field'):
- frappe.db.sql("""update `tab%(target_parent_dt)s`
- set %(status_field)s = if(%(target_parent_field)s<0.001,
- 'Not %(keyword)s', if(%(target_parent_field)s>=99.99,
- 'Fully %(keyword)s', 'Partly %(keyword)s'))
- where name='%(name)s'""" % args)
+ # update field
+ if args.get('status_field'):
+ frappe.db.sql("""update `tab%(target_parent_dt)s`
+ set %(status_field)s = if(%(target_parent_field)s<0.001,
+ 'Not %(keyword)s', if(%(target_parent_field)s>=99.99,
+ 'Fully %(keyword)s', 'Partly %(keyword)s'))
+ where name='%(name)s'""" % args)
- if update_modified:
- target = frappe.get_doc(args["target_parent_dt"], args["name"])
- target.set_status(update=True)
- target.notify_update()
- notify_status(target)
+ if update_modified:
+ target = frappe.get_doc(args["target_parent_dt"], args["name"])
+ target.set_status(update=True)
+ target.notify_update()
+ notify_status(target)
def _update_modified(self, args, update_modified):
args['update_modified'] = ''