fix: cannot change customer fields if credit exhausted (#22838)

* fix: cannot change customer fields if credit exhausted

* fix: order based on company

* fix: sort current limits w.r.t company before compare

* fix: CustomerCreditLimit Object is not subscriptable
This commit is contained in:
Saqib 2020-08-13 09:18:59 +05:30 committed by GitHub
parent e2ee455acc
commit c7614174d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -184,6 +184,14 @@ class Customer(TransactionBase):
def validate_credit_limit_on_change(self):
if self.get("__islocal") or not self.credit_limits:
return
past_credit_limits = [d.credit_limit
for d in frappe.db.get_all("Customer Credit Limit", filters={'parent': self.name}, fields=["credit_limit"], order_by="company")]
current_credit_limits = [d.credit_limit for d in sorted(self.credit_limits, key=lambda k: k.company)]
if past_credit_limits == current_credit_limits:
return
company_record = []
for limit in self.credit_limits: