diff --git a/erpnext/accounts/doctype/ledger_merge/ledger_merge.js b/erpnext/accounts/doctype/ledger_merge/ledger_merge.js index 871edc71fd..849c5fb9b5 100644 --- a/erpnext/accounts/doctype/ledger_merge/ledger_merge.js +++ b/erpnext/accounts/doctype/ledger_merge/ledger_merge.js @@ -5,7 +5,10 @@ frappe.ui.form.on('Ledger Merge', { setup: function(frm) { frappe.realtime.on('ledger_merge_refresh', ({ ledger_merge }) => { if (ledger_merge !== frm.doc.name) return; - frm.refresh(); + frappe.model.clear_doc(frm.doc.doctype, frm.doc.name); + frappe.model.with_doc(frm.doc.doctype, frm.doc.name).then(() => { + frm.refresh(); + }); }); frappe.realtime.on('ledger_merge_progress', data => { @@ -25,30 +28,31 @@ frappe.ui.form.on('Ledger Merge', { root_type: doc.root_type, company: doc.company } - } + }; }); - frm.set_query('account', 'merge_accounts', function(doc, cdt, cdn) { + frm.set_query('account', 'merge_accounts', function(doc) { if (!doc.company) frappe.throw(__('Please set Company')); if (!doc.root_type) frappe.throw(__('Please set Root Type')); if (!doc.account) frappe.throw(__('Please set Account')); + let acc = [doc.account]; + frm.doc.merge_accounts.forEach((row) => { + acc.push(row.account); + }); return { filters: { is_group: 0, root_type: doc.root_type, - name: ["!=", doc.account], + name: ["not in", acc], company: doc.company } - } + }; }); }, refresh: function(frm) { frm.page.hide_icon_group(); frm.trigger('set_merge_status'); - }, - - onload_post_render: function(frm) { frm.trigger('update_primary_action'); }, @@ -90,7 +94,7 @@ frappe.ui.form.on('Ledger Merge', { if (frm.doc.status == "Pending") return; let successful_records = 0; frm.doc.merge_accounts.forEach((row) => { - if(row.merged) successful_records += 1; + if (row.merged) successful_records += 1; }); let message_args = [successful_records, frm.doc.merge_accounts.length]; frm.dashboard.set_headline(__('Successfully merged {0} out of {1}.', message_args)); @@ -108,15 +112,18 @@ frappe.ui.form.on('Ledger Merge', { }); frappe.ui.form.on('Ledger Merge Accounts', { - merge_accounts_add: function(frm, cdt, cdn) { + merge_accounts_add: function(frm) { frm.trigger('update_primary_action'); }, - merge_accounts_remove: function(frm, cdt, cdn) { + merge_accounts_remove: function(frm) { frm.trigger('update_primary_action'); }, account: function(frm, cdt, cdn) { + let row = frappe.get_doc(cdt, cdn); + row.account_name = row.account; + frm.refresh_field('merge_accounts'); frm.trigger('update_primary_action'); } }); diff --git a/erpnext/accounts/doctype/ledger_merge/ledger_merge.json b/erpnext/accounts/doctype/ledger_merge/ledger_merge.json index 641b462a29..ee39e08c29 100644 --- a/erpnext/accounts/doctype/ledger_merge/ledger_merge.json +++ b/erpnext/accounts/doctype/ledger_merge/ledger_merge.json @@ -21,7 +21,6 @@ "depends_on": "root_type", "fieldname": "account", "fieldtype": "Link", - "in_list_view": 1, "label": "Account", "options": "Account", "reqd": 1, @@ -58,6 +57,7 @@ { "fieldname": "status", "fieldtype": "Select", + "in_list_view": 1, "label": "Status", "options": "Pending\nSuccess\nPartial Success\nError", "read_only": 1 @@ -83,7 +83,7 @@ ], "hide_toolbar": 1, "links": [], - "modified": "2021-12-09 23:41:11.097097", + "modified": "2021-12-10 15:28:34.520588", "modified_by": "Administrator", "module": "Accounts", "name": "Ledger Merge", diff --git a/erpnext/accounts/doctype/ledger_merge/ledger_merge.py b/erpnext/accounts/doctype/ledger_merge/ledger_merge.py index a23f565841..63130ca659 100644 --- a/erpnext/accounts/doctype/ledger_merge/ledger_merge.py +++ b/erpnext/accounts/doctype/ledger_merge/ledger_merge.py @@ -2,6 +2,7 @@ # For license information, please see license.txt import frappe +from frappe import _ from frappe.model.document import Document from erpnext.accounts.doctype.account.account import merge_account diff --git a/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py b/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py index c24caedda8..8c7276e3e6 100644 --- a/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py +++ b/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py @@ -4,5 +4,6 @@ # import frappe import unittest + class TestLedgerMerge(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/ledger_merge_accounts/ledger_merge_accounts.json b/erpnext/accounts/doctype/ledger_merge_accounts/ledger_merge_accounts.json index 524e480892..4ce55ada7f 100644 --- a/erpnext/accounts/doctype/ledger_merge_accounts/ledger_merge_accounts.json +++ b/erpnext/accounts/doctype/ledger_merge_accounts/ledger_merge_accounts.json @@ -31,7 +31,6 @@ }, { "columns": 4, - "fetch_from": "account.account_name", "fieldname": "account_name", "fieldtype": "Data", "label": "Account Name", @@ -42,7 +41,7 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2021-12-09 23:19:15.193921", + "modified": "2021-12-10 15:27:24.477139", "modified_by": "Administrator", "module": "Accounts", "name": "Ledger Merge Accounts",