feat: add Status and Delivered Qty fields in Stock Reservation Entry

This commit is contained in:
s-aga-r 2023-03-20 19:01:18 +05:30
parent da1455198e
commit 0d1332942c
3 changed files with 50 additions and 3 deletions

View File

@ -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",

View File

@ -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)

View File

@ -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];
},
};