Convert pricing data in stock table (#4417)

(cherry picked from commit 468a0f1fdf)
This commit is contained in:
Oliver 2023-02-25 18:59:16 +11:00 committed by GitHub
parent b6b701b077
commit eefad0baca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 3 deletions

View File

@ -106,9 +106,9 @@ var cached_exchange_rates = null;
/*
* Retrieve currency conversion rate information from the server
*/
function getCurrencyConversionRates() {
function getCurrencyConversionRates(cache=true) {
if (cached_exchange_rates != null) {
if (cache && cached_exchange_rates != null) {
return cached_exchange_rates;
}
@ -236,6 +236,11 @@ function convertCurrency(value, source_currency, target_currency, rate_data) {
return value;
}
if (rate_data == null) {
console.error('convertCurrency() called without rate_data');
return null;
}
if (!('base_currency' in rate_data)) {
console.error('Currency data missing base_currency parameter');
return null;

View File

@ -2041,9 +2041,27 @@ function loadStockTable(table, options) {
title: '{% trans "Purchase Price" %}',
sortable: false,
formatter: function(value, row) {
return formatCurrency(value, {
let html = formatCurrency(value, {
currency: row.purchase_price_currency,
});
var base = baseCurrency();
if (row.purchase_price_currency != base) {
let converted = convertCurrency(
row.purchase_price,
row.purchase_price_currency,
base,
getCurrencyConversionRates(),
);
if (converted) {
converted = formatCurrency(converted, {currency: baseCurrency()});
html += `<br><small><em>${converted}</em></small>`;
}
}
return html;
}
});