feat: remove button on import of an order
diff --git a/erpnext/accounts/doctype/payment_order/payment_order.js b/erpnext/accounts/doctype/payment_order/payment_order.js
index a5e18e8..91d7f1f 100644
--- a/erpnext/accounts/doctype/payment_order/payment_order.js
+++ b/erpnext/accounts/doctype/payment_order/payment_order.js
@@ -16,25 +16,44 @@
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 @@
},
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 @@
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 285168f..c0dd4bc 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 2b49a06..87d9cdc 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