mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-12 03:15:07 +00:00
Merge pull request #52792 from mihir-kandoi/gh52782
fix: unable to submit subcontracting order if created from material r…
This commit is contained in:
@@ -191,6 +191,9 @@ class PurchaseOrder(BuyingController):
|
||||
self.set_has_unit_price_items()
|
||||
self.flags.allow_zero_qty = self.has_unit_price_items
|
||||
|
||||
if self.is_subcontracted:
|
||||
self.status_updater[0]["source_field"] = "fg_item_qty"
|
||||
|
||||
def validate(self):
|
||||
super().validate()
|
||||
|
||||
|
||||
@@ -119,7 +119,7 @@ status_map = {
|
||||
["Pending", "eval:self.status != 'Stopped' and self.per_ordered == 0 and self.docstatus == 1"],
|
||||
[
|
||||
"Ordered",
|
||||
"eval:self.status != 'Stopped' and self.per_ordered == 100 and self.docstatus == 1 and self.material_request_type in ['Purchase', 'Manufacture']",
|
||||
"eval:self.status != 'Stopped' and self.per_ordered == 100 and self.docstatus == 1 and self.material_request_type in ['Purchase', 'Manufacture', 'Subcontracting']",
|
||||
],
|
||||
[
|
||||
"Transferred",
|
||||
@@ -511,13 +511,6 @@ class StatusUpdater(Document):
|
||||
if d.doctype != args["source_dt"]:
|
||||
continue
|
||||
|
||||
if (
|
||||
d.get("material_request")
|
||||
and frappe.db.get_value("Material Request", d.material_request, "material_request_type")
|
||||
== "Subcontracting"
|
||||
):
|
||||
args.update({"source_field": "fg_item_qty"})
|
||||
|
||||
self._update_modified(args, update_modified)
|
||||
|
||||
# updates qty in the child table
|
||||
|
||||
@@ -26,7 +26,7 @@ frappe.listview_settings["Material Request"] = {
|
||||
) {
|
||||
return [__("Partially Received"), "yellow", "per_ordered,<,100"];
|
||||
} else if (doc.docstatus == 1 && flt(doc.per_ordered, precision) < 100) {
|
||||
return [__("Partially ordered"), "yellow", "per_ordered,<,100"];
|
||||
return [__("Partially Ordered"), "yellow", "per_ordered,<,100"];
|
||||
} else if (doc.docstatus == 1 && flt(doc.per_ordered, precision) == 100) {
|
||||
if (
|
||||
doc.material_request_type == "Purchase" &&
|
||||
@@ -36,7 +36,7 @@ frappe.listview_settings["Material Request"] = {
|
||||
return [__("Partially Received"), "yellow", "per_received,<,100"];
|
||||
} else if (doc.material_request_type == "Purchase" && flt(doc.per_received, precision) == 100) {
|
||||
return [__("Received"), "green", "per_received,=,100"];
|
||||
} else if (["Purchase", "Manufacture"].includes(doc.material_request_type)) {
|
||||
} else if (["Purchase", "Manufacture", "Subcontracting"].includes(doc.material_request_type)) {
|
||||
return [__("Ordered"), "green", "per_ordered,=,100"];
|
||||
} else if (doc.material_request_type == "Material Transfer") {
|
||||
return [__("Transferred"), "green", "per_ordered,=,100"];
|
||||
|
||||
@@ -89,23 +89,6 @@ class SubcontractingOrder(SubcontractingController):
|
||||
transaction_date: DF.Date
|
||||
# end: auto-generated types
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
self.status_updater = [
|
||||
{
|
||||
"source_dt": "Subcontracting Order Item",
|
||||
"target_dt": "Material Request Item",
|
||||
"join_field": "material_request_item",
|
||||
"target_field": "ordered_qty",
|
||||
"target_parent_dt": "Material Request",
|
||||
"target_parent_field": "per_ordered",
|
||||
"target_ref_field": "stock_qty",
|
||||
"source_field": "qty",
|
||||
"percent_join_field": "material_request",
|
||||
}
|
||||
]
|
||||
|
||||
def onload(self):
|
||||
self.set_onload(
|
||||
"over_transfer_allowance",
|
||||
@@ -140,13 +123,11 @@ class SubcontractingOrder(SubcontractingController):
|
||||
self.reset_default_field_value("set_warehouse", "items", "warehouse")
|
||||
|
||||
def on_submit(self):
|
||||
self.update_prevdoc_status()
|
||||
self.update_status()
|
||||
self.update_subcontracted_quantity_in_po()
|
||||
self.reserve_raw_materials()
|
||||
|
||||
def on_cancel(self):
|
||||
self.update_prevdoc_status()
|
||||
self.update_status()
|
||||
self.update_subcontracted_quantity_in_po(cancel=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user