fix: Handle loan type naming collisions
diff --git a/erpnext/patches/v13_0/update_old_loans.py b/erpnext/patches/v13_0/update_old_loans.py
index c16c2c8..70c1b7e 100644
--- a/erpnext/patches/v13_0/update_old_loans.py
+++ b/erpnext/patches/v13_0/update_old_loans.py
@@ -51,7 +51,7 @@
if not loan_type_name:
loan_type_name = loan.loan_type + " - " + ''.join([c[0] for c in loan.company.split()]).upper()
- create_loan_type(loan, loan_type_name, penalty_account)
+ loan_type_name = create_loan_type(loan, loan_type_name, penalty_account)
# update loan type in loan
frappe.db.sql("UPDATE `tabLoan` set loan_type = %s where name = %s", (loan_type_name,
@@ -111,6 +111,10 @@
jv.cancel()
def create_loan_type(loan, loan_type_name, penalty_account):
+
+ if frappe.db.get_value('Loan Type', loan_type_name):
+ loan_type_name = loan_type_name + '-1'
+
loan_type_doc = frappe.new_doc('Loan Type')
loan_type_doc.loan_name = loan_type_name
loan_type_doc.is_term_loan = 1