fix: don't allow to submit/cancel SCR against a closed SCO
This commit is contained in:
parent
5e2669f4b6
commit
9e973476b2
@ -8,6 +8,7 @@ from frappe.utils import cint, flt, get_link_to_form, getdate, nowdate
|
|||||||
|
|
||||||
import erpnext
|
import erpnext
|
||||||
from erpnext.accounts.utils import get_account_currency
|
from erpnext.accounts.utils import get_account_currency
|
||||||
|
from erpnext.buying.utils import check_on_hold_or_closed_status
|
||||||
from erpnext.controllers.subcontracting_controller import SubcontractingController
|
from erpnext.controllers.subcontracting_controller import SubcontractingController
|
||||||
from erpnext.stock.stock_ledger import get_valuation_rate
|
from erpnext.stock.stock_ledger import get_valuation_rate
|
||||||
|
|
||||||
@ -142,6 +143,7 @@ class SubcontractingReceipt(SubcontractingController):
|
|||||||
self.get_current_stock()
|
self.get_current_stock()
|
||||||
|
|
||||||
def on_submit(self):
|
def on_submit(self):
|
||||||
|
self.validate_closed_subcontracting_order()
|
||||||
self.validate_available_qty_for_consumption()
|
self.validate_available_qty_for_consumption()
|
||||||
self.update_status_updater_args()
|
self.update_status_updater_args()
|
||||||
self.update_prevdoc_status()
|
self.update_prevdoc_status()
|
||||||
@ -165,6 +167,7 @@ class SubcontractingReceipt(SubcontractingController):
|
|||||||
"Repost Item Valuation",
|
"Repost Item Valuation",
|
||||||
"Serial and Batch Bundle",
|
"Serial and Batch Bundle",
|
||||||
)
|
)
|
||||||
|
self.validate_closed_subcontracting_order()
|
||||||
self.update_status_updater_args()
|
self.update_status_updater_args()
|
||||||
self.update_prevdoc_status()
|
self.update_prevdoc_status()
|
||||||
self.set_consumed_qty_in_subcontract_order()
|
self.set_consumed_qty_in_subcontract_order()
|
||||||
@ -175,6 +178,11 @@ class SubcontractingReceipt(SubcontractingController):
|
|||||||
self.update_status()
|
self.update_status()
|
||||||
self.delete_auto_created_batches()
|
self.delete_auto_created_batches()
|
||||||
|
|
||||||
|
def validate_closed_subcontracting_order(self):
|
||||||
|
for item in self.items:
|
||||||
|
if item.subcontracting_order:
|
||||||
|
check_on_hold_or_closed_status("Subcontracting Order", item.subcontracting_order)
|
||||||
|
|
||||||
def validate_items_qty(self):
|
def validate_items_qty(self):
|
||||||
for item in self.items:
|
for item in self.items:
|
||||||
if not (item.qty or item.rejected_qty):
|
if not (item.qty or item.rejected_qty):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user