fix: Only do specific validations on reference unlink

This commit is contained in:
Deepesh Garg 2021-08-10 14:52:24 +05:30
parent 188bba8feb
commit b5162390e5
2 changed files with 7 additions and 5 deletions

View File

@ -45,7 +45,7 @@ class PaymentEntry(AccountsController):
self.party_account = self.paid_to
self.party_account_currency = self.paid_to_account_currency
def validate(self, on_reference_unlink=False):
def validate(self):
self.setup_party_account_field()
self.set_missing_values()
self.validate_payment_type()
@ -65,9 +65,8 @@ class PaymentEntry(AccountsController):
self.set_remarks()
self.validate_duplicate_entry()
self.validate_payment_type_with_outstanding()
if not on_reference_unlink:
self.validate_allocated_amount()
self.validate_paid_invoices()
self.validate_allocated_amount()
self.validate_paid_invoices()
self.ensure_supplier_is_not_blocked()
self.set_status()

View File

@ -555,7 +555,10 @@ def remove_ref_doc_link_from_pe(ref_type, ref_no):
for pe in linked_pe:
try:
pe_doc = frappe.get_doc("Payment Entry", pe)
pe_doc.validate(on_reference_unlink=True)
pe_doc.set_total_allocated_amount()
pe_doc.set_unallocated_amount()
pe_doc.clear_unallocated_reference_document_rows()
pe_doc.validate_payment_type_with_outstanding()
except Exception as e:
msg = _("There were issues unlinking payment entry {0}.").format(pe_doc.name)
msg += '<br>'