From 06340ad08ae286cf7c9b63c637d7c47be7eca76b Mon Sep 17 00:00:00 2001 From: rtdany10 Date: Sat, 4 Sep 2021 17:53:51 +0530 Subject: [PATCH] feat: button to restore default settings --- .../currency_exchange_settings.js | 25 ++++++++++++++++--- .../currency_exchange_settings.py | 2 +- .../currency_exchange_settings_details.json | 5 ++-- .../currency_exchange_settings_result.json | 5 ++-- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/erpnext/setup/doctype/currency_exchange_settings/currency_exchange_settings.js b/erpnext/setup/doctype/currency_exchange_settings/currency_exchange_settings.js index 6b0ccb7713..c48bca8b8f 100644 --- a/erpnext/setup/doctype/currency_exchange_settings/currency_exchange_settings.js +++ b/erpnext/setup/doctype/currency_exchange_settings/currency_exchange_settings.js @@ -2,7 +2,26 @@ // For license information, please see license.txt frappe.ui.form.on('Currency Exchange Settings', { - // refresh: function(frm) { - - // } + refresh: function(frm) { + frm.add_custom_button(__('Restore Defaults'), function(){ + frm.doc.api_endpoint = "https://api.exchangerate.host/convert"; + frm.clear_table("req_params") + frm.clear_table("result_key") + let params = { + date: '{transaction_date}', + from: '{from_currency}', + to: '{to_currency}' + } + var row; + $.each(params, function(key, value){ + row = frm.add_child("req_params"); + row.key = key; + row.value = value; + }) + row = frm.add_child("result_key"); + row.key = 'result'; + frm.refresh_fields(); + frm.save(); + }); + } }); diff --git a/erpnext/setup/doctype/currency_exchange_settings/currency_exchange_settings.py b/erpnext/setup/doctype/currency_exchange_settings/currency_exchange_settings.py index badd14f159..fa5286a4bb 100644 --- a/erpnext/setup/doctype/currency_exchange_settings/currency_exchange_settings.py +++ b/erpnext/setup/doctype/currency_exchange_settings/currency_exchange_settings.py @@ -37,7 +37,7 @@ class CurrencyExchangeSettings(Document): to_currency=to_currency, from_currency=from_currency )] - except KeyError: + except Exception: frappe.throw("Invalid result key. Response: " + response.text) if not isinstance(value, (int, float)): frappe.throw(_("Returned exchange rate is neither integer not float.")) diff --git a/erpnext/setup/doctype/currency_exchange_settings_details/currency_exchange_settings_details.json b/erpnext/setup/doctype/currency_exchange_settings_details/currency_exchange_settings_details.json index 886d38529e..c9b27e1961 100644 --- a/erpnext/setup/doctype/currency_exchange_settings_details/currency_exchange_settings_details.json +++ b/erpnext/setup/doctype/currency_exchange_settings_details/currency_exchange_settings_details.json @@ -14,8 +14,7 @@ "fieldtype": "Data", "in_list_view": 1, "label": "Key", - "reqd": 1, - "unique": 1 + "reqd": 1 }, { "fieldname": "value", @@ -28,7 +27,7 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2021-09-04 11:24:21.944002", + "modified": "2021-09-04 17:49:17.383982", "modified_by": "Administrator", "module": "Setup", "name": "Currency Exchange Settings Details", diff --git a/erpnext/setup/doctype/currency_exchange_settings_result/currency_exchange_settings_result.json b/erpnext/setup/doctype/currency_exchange_settings_result/currency_exchange_settings_result.json index 1b2c623867..387e245a2f 100644 --- a/erpnext/setup/doctype/currency_exchange_settings_result/currency_exchange_settings_result.json +++ b/erpnext/setup/doctype/currency_exchange_settings_result/currency_exchange_settings_result.json @@ -13,14 +13,13 @@ "fieldtype": "Data", "in_list_view": 1, "label": "Key", - "reqd": 1, - "unique": 1 + "reqd": 1 } ], "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2021-09-03 15:41:09.997576", + "modified": "2021-09-04 17:49:33.858070", "modified_by": "Administrator", "module": "Setup", "name": "Currency Exchange Settings Result",