feat: add Status
and Delivered Qty
fields in Stock Reservation Entry
This commit is contained in:
parent
da1455198e
commit
0d1332942c
@ -18,6 +18,7 @@
|
||||
"voucher_detail_no",
|
||||
"section_break_11",
|
||||
"reserved_qty",
|
||||
"delivered_qty",
|
||||
"column_break_17",
|
||||
"valuation_rate",
|
||||
"section_break_21",
|
||||
@ -25,6 +26,7 @@
|
||||
"stock_uom",
|
||||
"project",
|
||||
"column_break_26",
|
||||
"status",
|
||||
"is_cancelled"
|
||||
],
|
||||
"fields": [
|
||||
@ -197,12 +199,26 @@
|
||||
"print_width": "150px",
|
||||
"read_only": 1,
|
||||
"width": "150px"
|
||||
},
|
||||
{
|
||||
"fieldname": "status",
|
||||
"fieldtype": "Select",
|
||||
"hidden": 1,
|
||||
"label": "Status",
|
||||
"options": "\nSubmitted\nPartially Delivered\nDelivered\nCancelled",
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"fieldname": "delivered_qty",
|
||||
"fieldtype": "Float",
|
||||
"label": "Delivered Qty",
|
||||
"read_only": 1
|
||||
}
|
||||
],
|
||||
"hide_toolbar": 1,
|
||||
"index_web_pages_for_search": 1,
|
||||
"links": [],
|
||||
"modified": "2023-03-20 11:17:35.898760",
|
||||
"modified": "2023-03-20 18:52:46.414108",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Stock",
|
||||
"name": "Stock Reservation Entry",
|
||||
|
@ -16,6 +16,13 @@ class StockReservationEntry(TransactionBase):
|
||||
validate_disabled_warehouse(self.warehouse)
|
||||
validate_warehouse_company(self.warehouse, self.company)
|
||||
|
||||
def on_submit(self):
|
||||
self.update_status()
|
||||
|
||||
def on_cancel(self):
|
||||
frappe.db.set_value(self.doctype, self.name, "is_cancelled", 1)
|
||||
self.update_status()
|
||||
|
||||
def validate_mandatory(self):
|
||||
mandatory = [
|
||||
"item_code",
|
||||
@ -32,5 +39,15 @@ class StockReservationEntry(TransactionBase):
|
||||
if not self.get(d):
|
||||
frappe.throw(_("{0} is required").format(self.meta.get_label(d)))
|
||||
|
||||
def on_cancel(self):
|
||||
frappe.db.set_value(self.doctype, self.name, "is_cancelled", 1)
|
||||
def update_status(self, status=None, update_modified=True):
|
||||
if not status:
|
||||
if self.is_cancelled:
|
||||
status = "Cancelled"
|
||||
elif self.reserved_qty == self.delivered_qty:
|
||||
status = "Delivered"
|
||||
elif self.delivered_qty and self.reserved_qty > self.delivered_qty:
|
||||
status = "Partially Delivered"
|
||||
else:
|
||||
status = "Submitted"
|
||||
|
||||
frappe.db.set_value(self.doctype, self.name, "status", status, update_modified=update_modified)
|
||||
|
@ -0,0 +1,14 @@
|
||||
// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
|
||||
// For license information, please see license.txt
|
||||
|
||||
frappe.listview_settings['Stock Reservation Entry'] = {
|
||||
get_indicator: function (doc) {
|
||||
const status_colors = {
|
||||
'Submitted': 'blue',
|
||||
'Partially Delivered': 'purple',
|
||||
'Delivered': 'green',
|
||||
'Cancelled': 'red',
|
||||
};
|
||||
return [__(doc.status), status_colors[doc.status], 'status,=,' + doc.status];
|
||||
},
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user