[fix] [minor] serial no fix for status update
diff --git a/stock/doctype/serial_no/serial_no.py b/stock/doctype/serial_no/serial_no.py
index a248cd0..dc067ec 100644
--- a/stock/doctype/serial_no/serial_no.py
+++ b/stock/doctype/serial_no/serial_no.py
@@ -132,14 +132,15 @@
def get_last_sle(self):
entries = {}
sle_dict = self.get_stock_ledger_entries()
- if sle_dict.get("incoming", []):
- entries["purchase_sle"] = sle_dict["incoming"][0]
+ if sle_dict:
+ if sle_dict.get("incoming", []):
+ entries["purchase_sle"] = sle_dict["incoming"][0]
- if len(sle_dict.get("incoming", [])) - len(sle_dict.get("outgoing", [])) > 0:
- entries["last_sle"] = sle_dict["incoming"][0]
- else:
- entries["last_sle"] = sle_dict["outgoing"][0]
- entries["delivery_sle"] = sle_dict["outgoing"][0]
+ if len(sle_dict.get("incoming", [])) - len(sle_dict.get("outgoing", [])) > 0:
+ entries["last_sle"] = sle_dict["incoming"][0]
+ else:
+ entries["last_sle"] = sle_dict["outgoing"][0]
+ entries["delivery_sle"] = sle_dict["outgoing"][0]
return entries
@@ -184,9 +185,10 @@
def on_stock_ledger_entry(self):
if self.via_stock_ledger and not self.doc.fields.get("__islocal"):
last_sle = self.get_last_sle()
- self.set_status(last_sle.get("last_sle"))
- self.set_purchase_details(last_sle.get("purchase_sle"))
- self.set_sales_details(last_sle.get("delivery_sle"))
+ if last_sle:
+ self.set_status(last_sle.get("last_sle"))
+ self.set_purchase_details(last_sle.get("purchase_sle"))
+ self.set_sales_details(last_sle.get("delivery_sle"))
def on_communication(self):
return