fix: grid view of customer credit limit
diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py
index c946c47..5edf067 100644
--- a/erpnext/selling/doctype/customer/customer.py
+++ b/erpnext/selling/doctype/customer/customer.py
@@ -167,13 +167,12 @@
frappe.throw(_("A Customer Group exists with same name please change the Customer name or rename the Customer Group"), frappe.NameError)
def validate_credit_limit_on_change(self):
- if self.get("__islocal") or not self.credit_limit \
- or self.credit_limit == frappe.db.get_value("Customer", self.name, "credit_limit"):
+ if self.get("__islocal") or not self.credit_limit:
return
- for company in frappe.get_all("Company"):
- outstanding_amt = get_customer_outstanding(self.name, company.name)
- if flt(self.credit_limit) < outstanding_amt:
+ for limit in frappe.get_all("Customer Credit Limit", {'parent': self.name}, ["credit_limit", "company"]):
+ outstanding_amt = get_customer_outstanding(self.name, limit.company)
+ if flt(limit.credit_limit) < outstanding_amt:
frappe.throw(_("""New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0}""").format(outstanding_amt))
def on_trash(self):
@@ -322,11 +321,16 @@
credit_limit = None
if customer:
- credit_limit, customer_group = frappe.get_cached_value("Customer",
- customer, ["credit_limit", "customer_group"])
+ credit_record = frappe.db.sql("""SELECT
+ customer_group,
+ credit_limit
+ FROM `tabCustomer`c , `tabCustomer Credit Limit` ccl
+ WHERE
+ c.name = ccl.parent
+ """, as_dict=1)
- if not credit_limit:
- credit_limit = frappe.get_cached_value("Customer Group", customer_group, "credit_limit")
+ if not credit_record.credit_limit:
+ credit_limit = frappe.get_cached_value("Customer Group", credit_record.customer_group, "credit_limit")
if not credit_limit:
credit_limit = frappe.get_cached_value('Company', company, "credit_limit")
diff --git a/erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.json b/erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.json
index 777feea..e26f798 100644
--- a/erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.json
+++ b/erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.json
@@ -4,13 +4,14 @@
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
- "credit_limit",
- "bypass_credit_limit_check",
+ "company",
"column_break_2",
- "company"
+ "credit_limit",
+ "bypass_credit_limit_check"
],
"fields": [
{
+ "columns": 4,
"fieldname": "credit_limit",
"fieldtype": "Currency",
"in_list_view": 1,
@@ -21,6 +22,7 @@
"fieldtype": "Column Break"
},
{
+ "columns": 4,
"fieldname": "company",
"fieldtype": "Link",
"in_list_view": 1,
@@ -31,11 +33,12 @@
"default": "0",
"fieldname": "bypass_credit_limit_check",
"fieldtype": "Check",
+ "in_list_view": 1,
"label": "Bypass credit limit_check"
}
],
"istable": 1,
- "modified": "2019-08-29 18:27:10.323287",
+ "modified": "2019-08-29 20:46:36.073953",
"modified_by": "Administrator",
"module": "Selling",
"name": "Customer Credit Limit",