From cd4289e10e4a3e8be392c98d325a7583f515c920 Mon Sep 17 00:00:00 2001 From: Mangesh-Khairnar Date: Sat, 11 May 2019 20:04:03 +0530 Subject: [PATCH] feat: remove button on import of an order --- .../doctype/payment_order/payment_order.js | 39 +++++++++++------ .../doctype/payment_order/payment_order.json | 3 +- .../doctype/payment_order/regional/india.js | 43 +++++++++---------- 3 files changed, 50 insertions(+), 35 deletions(-) diff --git a/erpnext/accounts/doctype/payment_order/payment_order.js b/erpnext/accounts/doctype/payment_order/payment_order.js index a5e18e8097..91d7f1f110 100644 --- a/erpnext/accounts/doctype/payment_order/payment_order.js +++ b/erpnext/accounts/doctype/payment_order/payment_order.js @@ -16,25 +16,44 @@ frappe.ui.form.on('Payment Order', { frm.add_custom_button(__('Payment Request'), function() { frm.trigger("get_from_payment_request"); }, __("Get from")); + frm.add_custom_button(__('Payment Entry'), function() { frm.trigger("get_from_payment_entry"); }, __("Get from")); + + frm.trigger('remove_button'); } // payment Entry if (frm.doc.docstatus===1 && frm.doc.payment_order_type==='Payment Request') { frm.add_custom_button(__('Create Payment Entries'), - function() { - frm.trigger("make_payment_records"); - }); + function() { + frm.trigger("make_payment_records"); + }); + } + }, + + remove_row_if_empty: function(frm) { + // remove if first row is empty + if (frm.doc.references.length > 0 && !frm.doc.references[0].reference_name) { + frm.doc.references = []; + } + }, + + remove_button: function(frm) { + let label = ["Payment Request", "Payment Entry"] + + if (frm.doc.references.length > 0 && frm.doc.payment_order_type) { + label = label.reduce(x => { + x!= frm.doc.payment_order_type; + return x; + }); + frm.remove_custom_button(label, "Get from"); } }, get_from_payment_entry: function(frm) { - // remove if first row is empty - if (!frm.doc.references[0].reference_name) { - frm.doc.references = []; - } + frm.trigger("remove_row_if_empty"); erpnext.utils.map_current_doc({ method: "erpnext.accounts.doctype.payment_entry.payment_entry.make_payment_order", source_doctype: "Payment Entry", @@ -52,10 +71,7 @@ frappe.ui.form.on('Payment Order', { }, get_from_payment_request: function(frm) { - // remove if first row is empty - if (!frm.doc.references[0].reference_name) { - frm.doc.references = []; - } + frm.trigger("remove_row_if_empty") erpnext.utils.map_current_doc({ method: "erpnext.accounts.doctype.payment_request.payment_request.make_payment_order", source_doctype: "Payment Request", @@ -116,5 +132,4 @@ frappe.ui.form.on('Payment Order', { dialog.show(); }, - }); \ No newline at end of file diff --git a/erpnext/accounts/doctype/payment_order/payment_order.json b/erpnext/accounts/doctype/payment_order/payment_order.json index 285168f247..c0dd4bc735 100644 --- a/erpnext/accounts/doctype/payment_order/payment_order.json +++ b/erpnext/accounts/doctype/payment_order/payment_order.json @@ -79,6 +79,7 @@ "fieldtype": "Select", "label": "Payment Order Type", "options": "\nPayment Request\nPayment Entry", + "read_only": 1, "reqd": 1 }, { @@ -98,7 +99,7 @@ } ], "is_submittable": 1, - "modified": "2019-05-08 16:00:09.027739", + "modified": "2019-05-09 13:57:12.974008", "modified_by": "Administrator", "module": "Accounts", "name": "Payment Order", diff --git a/erpnext/accounts/doctype/payment_order/regional/india.js b/erpnext/accounts/doctype/payment_order/regional/india.js index 2b49a06cdb..87d9cdcc26 100644 --- a/erpnext/accounts/doctype/payment_order/regional/india.js +++ b/erpnext/accounts/doctype/payment_order/regional/india.js @@ -1,30 +1,29 @@ frappe.ui.form.on('Payment Order', { refresh: function(frm) { - if (frm.doc.docstatus==1 && frm.doc.payment_order_type==='Payment Entry') { - frm.add_custom_button(__('Generate Text File'), - function() { - frm.trigger("generate_text_and_download_file"); - }); - } - }, - generate_text_and_download_file: (frm) => { - return frappe.call({ - method: "erpnext.regional.india.bank_remittance_txt.generate_report", - args: { - name: frm.doc.name - }, - freeze: true, - callback: function(r) { - { - frm.refresh(); - const a = document.createElement('a'); - let file_obj = r.message; + if (frm.doc.docstatus==1 && frm.doc.payment_order_type==='Payment Entry') { + frm.add_custom_button(__('Generate Text File'), function() { + frm.trigger("generate_text_and_download_file"); + }); + } + }, + generate_text_and_download_file: (frm) => { + return frappe.call({ + method: "erpnext.regional.india.bank_remittance_txt.generate_report", + args: { + name: frm.doc.name + }, + freeze: true, + callback: function(r) { + { + frm.refresh(); + const a = document.createElement('a'); + let file_obj = r.message; a.href = file_obj.file_url; a.target = '_blank'; a.download = file_obj.file_name; a.click(); } - } - }); - } + } + }); + } }); \ No newline at end of file