Skip to content

Commit

Permalink
Merge pull request #37359 from ruthra-kumar/change_request_response_s…
Browse files Browse the repository at this point in the history
…trucutre_on_exchangerate

refactor: add `access_key` field to facilitate use of exchangerate.host provider
  • Loading branch information
ruthra-kumar authored Oct 5, 2023
2 parents 9396fb7 + c8e3dc6 commit c006c14
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"disabled",
"service_provider",
"api_endpoint",
"access_key",
"url",
"column_break_3",
"help",
Expand Down Expand Up @@ -84,12 +85,18 @@
"fieldname": "disabled",
"fieldtype": "Check",
"label": "Disabled"
},
{
"depends_on": "eval:doc.service_provider == 'exchangerate.host';",
"fieldname": "access_key",
"fieldtype": "Data",
"label": "Access Key"
}
],
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
"modified": "2023-01-09 12:19:03.955906",
"modified": "2023-10-04 15:30:25.333860",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Currency Exchange Settings",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,21 @@ def validate(self):

def set_parameters_and_result(self):
if self.service_provider == "exchangerate.host":

if not self.access_key:
frappe.throw(
_("Access Key is required for Service Provider: {0}").format(
frappe.bold(self.service_provider)
)
)

self.set("result_key", [])
self.set("req_params", [])

self.api_endpoint = "https://api.exchangerate.host/convert"
self.append("result_key", {"key": "result"})
self.append("req_params", {"key": "access_key", "value": self.access_key})
self.append("req_params", {"key": "amount", "value": "1"})
self.append("req_params", {"key": "date", "value": "{transaction_date}"})
self.append("req_params", {"key": "from", "value": "{from_currency}"})
self.append("req_params", {"key": "to", "value": "{to_currency}"})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ def test_exchange_rate_via_exchangerate_host(self, mock_get):
# Update Currency Exchange Rate
settings = frappe.get_single("Currency Exchange Settings")
settings.service_provider = "exchangerate.host"
settings.access_key = "12345667890"
settings.save()

# Update exchange
Expand Down

0 comments on commit c006c14

Please sign in to comment.