mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-26 00:14:50 +00:00
Merge branch 'develop' of https://github.com/frappe/erpnext into term_loan_enhancement
This commit is contained in:
@@ -336,7 +336,6 @@
|
||||
},
|
||||
{
|
||||
"depends_on": "eval:doc.is_secured_loan",
|
||||
"fetch_from": "loan_application.maximum_loan_amount",
|
||||
"fieldname": "maximum_loan_amount",
|
||||
"fieldtype": "Currency",
|
||||
"label": "Maximum Loan Amount",
|
||||
@@ -362,7 +361,7 @@
|
||||
"index_web_pages_for_search": 1,
|
||||
"is_submittable": 1,
|
||||
"links": [],
|
||||
"modified": "2021-10-20 08:28:16.796105",
|
||||
"modified": "2021-10-12 18:10:32.360818",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Loan Management",
|
||||
"name": "Loan",
|
||||
|
||||
@@ -137,16 +137,23 @@ class Loan(AccountsController):
|
||||
frappe.throw(_("Loan amount is mandatory"))
|
||||
|
||||
def link_loan_security_pledge(self):
|
||||
if self.is_secured_loan:
|
||||
loan_security_pledge = frappe.db.get_value('Loan Security Pledge', {'loan_application': self.loan_application},
|
||||
'name')
|
||||
if self.is_secured_loan and self.loan_application:
|
||||
maximum_loan_value = frappe.db.get_value('Loan Security Pledge',
|
||||
{
|
||||
'loan_application': self.loan_application,
|
||||
'status': 'Requested'
|
||||
},
|
||||
'sum(maximum_loan_value)'
|
||||
)
|
||||
|
||||
if loan_security_pledge:
|
||||
frappe.db.set_value('Loan Security Pledge', loan_security_pledge, {
|
||||
'loan': self.name,
|
||||
'status': 'Pledged',
|
||||
'pledge_time': now_datetime()
|
||||
})
|
||||
if maximum_loan_value:
|
||||
frappe.db.sql("""
|
||||
UPDATE `tabLoan Security Pledge`
|
||||
SET loan = %s, pledge_time = %s, status = 'Pledged'
|
||||
WHERE status = 'Requested' and loan_application = %s
|
||||
""", (self.name, now_datetime(), self.loan_application))
|
||||
|
||||
self.db_set('maximum_loan_amount', maximum_loan_value)
|
||||
|
||||
def unlink_loan_security_pledge(self):
|
||||
pledges = frappe.get_all('Loan Security Pledge', fields=['name'], filters={'loan': self.name})
|
||||
|
||||
@@ -130,10 +130,11 @@ class LoanApplication(Document):
|
||||
def create_loan(source_name, target_doc=None, submit=0):
|
||||
def update_accounts(source_doc, target_doc, source_parent):
|
||||
account_details = frappe.get_all("Loan Type",
|
||||
fields=["mode_of_payment", "payment_account","loan_account", "interest_income_account", "penalty_income_account"],
|
||||
filters = {'name': source_doc.loan_type}
|
||||
)[0]
|
||||
fields=["mode_of_payment", "payment_account","loan_account", "interest_income_account", "penalty_income_account"],
|
||||
filters = {'name': source_doc.loan_type})[0]
|
||||
|
||||
if source_doc.is_secured_loan:
|
||||
target_doc.maximum_loan_amount = 0
|
||||
|
||||
target_doc.mode_of_payment = account_details.mode_of_payment
|
||||
target_doc.payment_account = account_details.payment_account
|
||||
|
||||
@@ -197,7 +197,7 @@ def get_disbursal_amount(loan, on_current_security_price=0):
|
||||
security_value = get_total_pledged_security_value(loan)
|
||||
|
||||
if loan_details.is_secured_loan and not on_current_security_price:
|
||||
security_value = flt(loan_details.maximum_loan_amount)
|
||||
security_value = get_maximum_amount_as_per_pledged_security(loan)
|
||||
|
||||
if not security_value and not loan_details.is_secured_loan:
|
||||
security_value = flt(loan_details.loan_amount)
|
||||
@@ -208,3 +208,6 @@ def get_disbursal_amount(loan, on_current_security_price=0):
|
||||
disbursal_amount = loan_details.loan_amount - loan_details.disbursed_amount
|
||||
|
||||
return disbursal_amount
|
||||
|
||||
def get_maximum_amount_as_per_pledged_security(loan):
|
||||
return flt(frappe.db.get_value('Loan Security Pledge', {'loan': loan}, 'sum(maximum_loan_value)'))
|
||||
|
||||
@@ -6,7 +6,7 @@ from __future__ import unicode_literals
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
from frappe.utils import add_days, add_months, cint, date_diff, flt, get_datetime, getdate
|
||||
from frappe.utils import add_days, cint, date_diff, flt, get_datetime, getdate
|
||||
from six import iteritems
|
||||
|
||||
import erpnext
|
||||
|
||||
@@ -1,20 +1,13 @@
|
||||
{
|
||||
"category": "",
|
||||
"charts": [],
|
||||
"content": "[{\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Loan Application\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Loan\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Dashboard\", \"col\": 4}}, {\"type\": \"spacer\", \"data\": {\"col\": 12}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Loan\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Loan Processes\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Disbursement and Repayment\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Loan Security\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Reports\", \"col\": 4}}]",
|
||||
"creation": "2020-03-12 16:35:55.299820",
|
||||
"developer_mode_only": 0,
|
||||
"disable_user_customization": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "Workspace",
|
||||
"extends": "",
|
||||
"extends_another_page": 0,
|
||||
"for_user": "",
|
||||
"hide_custom": 0,
|
||||
"icon": "loan",
|
||||
"idx": 0,
|
||||
"is_default": 0,
|
||||
"is_standard": 0,
|
||||
"label": "Loans",
|
||||
"links": [
|
||||
{
|
||||
@@ -245,15 +238,12 @@
|
||||
"type": "Link"
|
||||
}
|
||||
],
|
||||
"modified": "2021-08-05 12:18:13.350904",
|
||||
"modified": "2021-08-05 12:18:13.350905",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Loan Management",
|
||||
"name": "Loans",
|
||||
"onboarding": "",
|
||||
"owner": "Administrator",
|
||||
"parent_page": "",
|
||||
"pin_to_bottom": 0,
|
||||
"pin_to_top": 0,
|
||||
"public": 1,
|
||||
"restrict_to_domain": "",
|
||||
"roles": [],
|
||||
|
||||
Reference in New Issue
Block a user