fix: Handle the "no leave_allocation found" case (#23922)
* fix: Handle the "no leave_allocation found" case
* fix: format of error msg
diff --git a/erpnext/hr/doctype/leave_encashment/leave_encashment.py b/erpnext/hr/doctype/leave_encashment/leave_encashment.py
index 8913c64..c1dcc97 100644
--- a/erpnext/hr/doctype/leave_encashment/leave_encashment.py
+++ b/erpnext/hr/doctype/leave_encashment/leave_encashment.py
@@ -32,7 +32,7 @@
additional_salary.employee = self.employee
earning_component = frappe.get_value("Leave Type", self.leave_type, "earning_component")
if not earning_component:
- frappe.throw(_("Please set Earning Component for Leave type: {0}.".format(self.leave_type)))
+ frappe.throw(_("Please set Earning Component for Leave type: {0}.").format(self.leave_type))
additional_salary.salary_component = earning_component
additional_salary.payroll_date = self.encashment_date
additional_salary.amount = self.encashment_amount
@@ -98,7 +98,11 @@
create_leave_ledger_entry(self, args, submit)
# create reverse entry for expired leaves
- to_date = self.get_leave_allocation().get('to_date')
+ leave_allocation = self.get_leave_allocation()
+ if not leave_allocation:
+ return
+
+ to_date = leave_allocation.get('to_date')
if to_date < getdate(nowdate()):
args = frappe._dict(
leaves=self.encashable_days,