feat: provision to close SCO by s-aga-r [frappe] PR#39127 [backport/v4]
Backport of !1164 (merged)
Conflicts detected for source commit: 5261886f7326f9e4a82b8d072b31970231c4e82a
diff --cc erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
index bc306116,14f9bfd5..00000000
--- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
+++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
@@@ -305,10 -299,12 +299,15 @@@ class SubcontractingOrder(Subcontractin
status = "Cancelled"
if status:
- frappe.db.set_value(
- "Subcontracting Order", self.name, "status", status, update_modified=update_modified
- )
+ self.db_set("status", status, update_modified=update_modified)
+
++<<<<<<< HEAD
++=======
+ self.update_requested_qty()
+ self.update_ordered_qty_for_subcontracting()
+ self.update_reserved_qty_for_subcontracting()
++>>>>>>> 5261886f7326f9e4a82b8d072b31970231c4e82a
@frappe.whitelist()
def make_subcontracting_receipt(source_name, target_doc=None):
Conflicts detected for source commit: 92e922da122862fd1bce9c17f1dbf17cd0aa2f99
diff --cc erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
index 14f9bfd5,3daa6335..00000000
--- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
+++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
@@@ -7,6 -7,7 +7,10 @@@ from frappe.model.mapper import get_map
from frappe.utils import flt
from erpnext.buying.doctype.purchase_order.purchase_order import is_subcontracting_order_created
++<<<<<<< HEAD
++=======
+ from erpnext.buying.utils import check_on_hold_or_closed_status
++>>>>>>> 92e922da122862fd1bce9c17f1dbf17cd0aa2f99
from erpnext.controllers.subcontracting_controller import SubcontractingController
from erpnext.stock.stock_balance import update_bin_qty
from erpnext.stock.utils import get_bin
Conflicts detected for source commit: 0e064ae8ba5de8bbe9b71930856130d409c6927c
diff --cc erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
index 3daa6335,309e4fe6..00000000
--- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
+++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
@@@ -272,7 -272,7 +272,11 @@@ class SubcontractingOrder(Subcontractin
self.set_missing_values()
def update_status(self, status=None, update_modified=True):
++<<<<<<< HEAD
+ if self.status == "Closed":
++=======
+ if self.status == "Closed" and self.status != status:
++>>>>>>> 0e064ae8ba5de8bbe9b71930856130d409c6927c
check_on_hold_or_closed_status("Purchase Order", self.purchase_order)
if self.docstatus >= 1 and not status:
@@@ -302,7 -302,7 +306,11 @@@
elif self.docstatus == 2:
status = "Cancelled"
++<<<<<<< HEAD
+ if status:
++=======
+ if status and self.status != status:
++>>>>>>> 0e064ae8ba5de8bbe9b71930856130d409c6927c
self.db_set("status", status, update_modified=update_modified)
self.update_requested_qty()
Conflicts detected for source commit: 9e8a7a60d721997e141bdf7e9fbb20350da68bc3
diff --cc erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js
index ae9a3252,4c8a0ad6..00000000
--- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js
+++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js
@@@ -101,7 -101,7 +101,11 @@@ frappe.ui.form.on('Subcontracting Order
},
refresh: function (frm) {
++<<<<<<< HEAD
+ if (frm.has_perm("submit")) {
++=======
+ if (frm.doc.docstatus == 1 && frm.has_perm("submit")) {
++>>>>>>> 9e8a7a60d721997e141bdf7e9fbb20350da68bc3
if (frm.doc.status == "Closed") {
frm.add_custom_button(__('Re-open'), () => frm.events.update_subcontracting_order_status(frm), __("Status"));
} else if(flt(frm.doc.per_received, 2) < 100) {