diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry_list.js b/erpnext/accounts/doctype/payment_entry/payment_entry_list.js index 6974e58c78c..95be03d4f10 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry_list.js +++ b/erpnext/accounts/doctype/payment_entry/payment_entry_list.js @@ -1,4 +1,20 @@ frappe.listview_settings["Payment Entry"] = { + add_fields: ["unallocated_amount", "docstatus"], + get_indicator: function (doc) { + if (doc.docstatus === 2) { + return [__("Cancelled"), "red", "docstatus,=,2"]; + } + + if (doc.docstatus === 0) { + return [__("Draft"), "orange", "docstatus,=,0"]; + } + + if (flt(doc.unallocated_amount) > 0) { + return [__("Unreconciled"), "orange", "docstatus,=,1|unallocated_amount,>,0"]; + } + + return [__("Reconciled"), "green", "docstatus,=,1|unallocated_amount,=,0"]; + }, onload: function (listview) { if (listview.page.fields_dict.party_type) { listview.page.fields_dict.party_type.get_query = function () { diff --git a/erpnext/public/js/utils/unreconcile.js b/erpnext/public/js/utils/unreconcile.js index 4ccbf0106d7..1f9ffda7c24 100644 --- a/erpnext/public/js/utils/unreconcile.js +++ b/erpnext/public/js/utils/unreconcile.js @@ -140,7 +140,8 @@ erpnext.accounts.unreconcile_payment = { selected_allocations ); erpnext.accounts.unreconcile_payment.create_unreconcile_docs( - selection_map + selection_map, + frm ); d.hide(); } else { @@ -156,12 +157,23 @@ erpnext.accounts.unreconcile_payment = { } }, - create_unreconcile_docs(selection_map) { + create_unreconcile_docs(selection_map, frm) { frappe.call({ method: "erpnext.accounts.doctype.unreconcile_payment.unreconcile_payment.create_unreconcile_doc_for_selection", args: { selections: selection_map, }, + callback: function (r) { + if (r.exc) { + return; + } + + if (frm && !frm.is_new()) { + frm.reload_doc(); + } + + frappe.show_alert({ message: __("Unreconciled successfully"), indicator: "green" }); + }, }); }, };