From 79a8be363338ea2eb8fae386d2a2f252e26109b6 Mon Sep 17 00:00:00 2001 From: Achilles Rasquinha Date: Mon, 11 Dec 2017 15:10:32 +0530 Subject: [PATCH] [HOTFIX] Currency Format on Print (#4584) * [HOTFIX] fix currency issue on print * [HOTFIX] fix currency issue on print * added value check for format * added value check for format * fix codacy --- frappe/utils/data.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/frappe/utils/data.py b/frappe/utils/data.py index 168e0430c0..9eb5140b24 100644 --- a/frappe/utils/data.py +++ b/frappe/utils/data.py @@ -371,12 +371,17 @@ def fmt_money(amount, precision=None, currency=None): # 40,000 -> 40,000.00 # 40,000.00000 -> 40,000.00 # 40,000.23000 -> 40,000.23 + if decimal_str: parts = str(amount).split(decimal_str) decimals = parts[1] if len(parts) > 1 else '' if precision > 2: if len(decimals) < 3: - precision = 2 + if currency: + fraction = frappe.db.get_value("Currency", currency, "fraction_units") or 100 + precision = len(cstr(fraction)) - 1 + else: + precision = 2 elif len(decimals) < precision: precision = len(decimals) @@ -781,7 +786,7 @@ def make_filter_tuple(doctype, key, value): return [doctype, key, value[0], value[1]] else: return [doctype, key, "=", value] - + def scrub_urls(html): html = expand_relative_urls(html) # encoding should be responsibility of the composer