fix: Allow repayment from Salary only for term loans
This commit is contained in:
parent
af27d61bee
commit
baa7521d02
@ -126,7 +126,7 @@
|
|||||||
"depends_on": "eval:doc.applicant_type==\"Employee\"",
|
"depends_on": "eval:doc.applicant_type==\"Employee\"",
|
||||||
"fieldname": "repay_from_salary",
|
"fieldname": "repay_from_salary",
|
||||||
"fieldtype": "Check",
|
"fieldtype": "Check",
|
||||||
"label": "Repay from Salary"
|
"label": "Repay From Salary"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "section_break_8",
|
"fieldname": "section_break_8",
|
||||||
@ -178,6 +178,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"depends_on": "is_term_loan",
|
"depends_on": "is_term_loan",
|
||||||
|
"fetch_from": "loan_application.repayment_amount",
|
||||||
|
"fetch_if_empty": 1,
|
||||||
"fieldname": "monthly_repayment_amount",
|
"fieldname": "monthly_repayment_amount",
|
||||||
"fieldtype": "Currency",
|
"fieldtype": "Currency",
|
||||||
"label": "Monthly Repayment Amount",
|
"label": "Monthly Repayment Amount",
|
||||||
@ -350,7 +352,7 @@
|
|||||||
],
|
],
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2020-02-07 01:31:25.172173",
|
"modified": "2020-04-13 13:16:10.192624",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Loan Management",
|
"module": "Loan Management",
|
||||||
"name": "Loan",
|
"name": "Loan",
|
||||||
|
|||||||
@ -19,6 +19,7 @@ class Loan(AccountsController):
|
|||||||
self.validate_loan_security_pledge()
|
self.validate_loan_security_pledge()
|
||||||
self.validate_loan_amount()
|
self.validate_loan_amount()
|
||||||
self.check_sanctioned_amount_limit()
|
self.check_sanctioned_amount_limit()
|
||||||
|
self.validate_repay_from_salary()
|
||||||
|
|
||||||
if self.is_term_loan:
|
if self.is_term_loan:
|
||||||
validate_repayment_method(self.repayment_method, self.loan_amount, self.monthly_repayment_amount,
|
validate_repayment_method(self.repayment_method, self.loan_amount, self.monthly_repayment_amount,
|
||||||
@ -77,6 +78,10 @@ class Loan(AccountsController):
|
|||||||
if sanctioned_amount_limit and flt(self.loan_amount) + flt(total_loan_amount) > flt(sanctioned_amount_limit):
|
if sanctioned_amount_limit and flt(self.loan_amount) + flt(total_loan_amount) > flt(sanctioned_amount_limit):
|
||||||
frappe.throw(_("Sanctioned Amount limit crossed for {0} {1}").format(self.applicant_type, frappe.bold(self.applicant)))
|
frappe.throw(_("Sanctioned Amount limit crossed for {0} {1}").format(self.applicant_type, frappe.bold(self.applicant)))
|
||||||
|
|
||||||
|
def validate_repay_from_salary(self):
|
||||||
|
if not self.is_term_loan and self.repay_from_salary:
|
||||||
|
frappe.throw(_("Repay From Salary can be selected only for term loans"))
|
||||||
|
|
||||||
def make_repayment_schedule(self):
|
def make_repayment_schedule(self):
|
||||||
|
|
||||||
if not self.repayment_start_date:
|
if not self.repayment_start_date:
|
||||||
|
|||||||
@ -14,4 +14,13 @@ class ProcessLoanSecurityShortfall(Document):
|
|||||||
self.set_onload('update_time', get_datetime())
|
self.set_onload('update_time', get_datetime())
|
||||||
|
|
||||||
def on_submit(self):
|
def on_submit(self):
|
||||||
check_for_ltv_shortfall(process_loan_security_shortfall = self.name)
|
check_for_ltv_shortfall(self.name)
|
||||||
|
|
||||||
|
def create_process_loan_security_shortfall():
|
||||||
|
if check_for_secured_loans():
|
||||||
|
process = frappe.new_doc("Process Loan Security Shortfall")
|
||||||
|
process.update_time = get_datetime()
|
||||||
|
process.submit()
|
||||||
|
|
||||||
|
def check_for_secured_loans():
|
||||||
|
return frappe.db.count('Loan', {'docstatus': 1, 'is_secured_loan': 1})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user