fix: Only submitted Loan security pledges should be approved
diff --git a/erpnext/loan_management/doctype/loan/loan.py b/erpnext/loan_management/doctype/loan/loan.py
index e2e27dd..d1b7589 100644
--- a/erpnext/loan_management/doctype/loan/loan.py
+++ b/erpnext/loan_management/doctype/loan/loan.py
@@ -240,15 +240,19 @@
unpledge_request = create_loan_security_unpledge(security_map, pledge_doc.loan,
pledge_doc.company, pledge_doc.applicant_type, pledge_doc.applicant)
- if approve:
- unpledge_request.status = 'Approved'
-
if save:
unpledge_request.save()
if submit:
unpledge_request.submit()
+ if approve:
+ if unpledge_request.docstatus == 1:
+ unpledge_request.status = 'Approved'
+ unpledge_request.save()
+ else:
+ frappe.throw(_('Only submittted unpledge requests can be approved'))
+
if as_dict:
return unpledge_request
else:
diff --git a/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py b/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py
index a87d832..b3eb600 100644
--- a/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py
+++ b/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py
@@ -20,9 +20,6 @@
self.update_loan_status(cancel=1)
self.db_set('status', 'Requested')
- def on_submit(self):
- self.approve()
-
def validate_duplicate_securities(self):
security_list = []
for d in self.securities: