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: