mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-30 09:32:25 +02:00
fix: Show Create Loan button only if loan is not created (#19291)
This commit is contained in:
@@ -13,6 +13,7 @@ class Loan(AccountsController):
|
||||
def validate(self):
|
||||
validate_repayment_method(self.repayment_method, self.loan_amount, self.monthly_repayment_amount, self.repayment_periods)
|
||||
self.set_missing_fields()
|
||||
self.validate_loan_application()
|
||||
self.make_repayment_schedule()
|
||||
self.set_repayment_period()
|
||||
self.calculate_totals()
|
||||
@@ -33,6 +34,13 @@ class Loan(AccountsController):
|
||||
if self.status == "Repaid/Closed":
|
||||
self.total_amount_paid = self.total_payment
|
||||
|
||||
def validate_loan_application(self):
|
||||
if self.loan_application:
|
||||
loan = frappe.db.get_value("Loan", {"loan_application": self.loan_application}, "name")
|
||||
|
||||
if loan and loan != self.name:
|
||||
frappe.throw(_("Loan {0} already created for Loan Application {1}").format(frappe.bold(loan),
|
||||
frappe.bold(self.loan_application)))
|
||||
|
||||
def make_jv_entry(self):
|
||||
self.check_permission('write')
|
||||
|
||||
@@ -23,20 +23,25 @@ frappe.ui.form.on('Loan Application', {
|
||||
},
|
||||
add_toolbar_buttons: function(frm) {
|
||||
if (frm.doc.status == "Approved") {
|
||||
frm.add_custom_button(__('Create Loan'), function() {
|
||||
frappe.call({
|
||||
method: "erpnext.hr.doctype.loan_application.loan_application.make_loan",
|
||||
args: {
|
||||
"source_name": frm.doc.name
|
||||
},
|
||||
callback: function(r) {
|
||||
if(!r.exc) {
|
||||
var doc = frappe.model.sync(r.message);
|
||||
frappe.set_route("Form", r.message.doctype, r.message.name);
|
||||
}
|
||||
}
|
||||
});
|
||||
}).addClass("btn-primary");
|
||||
// show create loan button if loan not created against loan aplication
|
||||
frappe.db.get_value("Loan", {"loan_application": frm.doc.name}, "name", (r) => {
|
||||
if (!r) {
|
||||
frm.add_custom_button(__('Create Loan'), function() {
|
||||
frappe.call({
|
||||
method: "erpnext.hr.doctype.loan_application.loan_application.make_loan",
|
||||
args: {
|
||||
"source_name": frm.doc.name
|
||||
},
|
||||
callback: function(r) {
|
||||
if(!r.exc) {
|
||||
var doc = frappe.model.sync(r.message);
|
||||
frappe.set_route("Form", r.message.doctype, r.message.name);
|
||||
}
|
||||
}
|
||||
});
|
||||
}).addClass("btn-primary");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user