From b5129816dcefb4078d280c7827793e96e4c0a83d Mon Sep 17 00:00:00 2001 From: Cedric Snauwaert Date: Wed, 13 Mar 2013 16:43:42 +0100 Subject: [PATCH] [FIX]res_currency: change value from 0 to 1 when no rate is associated to a given period of time in order to prevent division by zero error bzr revid: csn@openerp.com-20130313154342-g1d1jj3g061evf56 --- openerp/addons/base/res/res_currency.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_currency.py b/openerp/addons/base/res/res_currency.py index 9e5eec6cfed..20db3ecee98 100644 --- a/openerp/addons/base/res/res_currency.py +++ b/openerp/addons/base/res/res_currency.py @@ -21,12 +21,15 @@ import re import time +import logging from openerp import tools from openerp.osv import fields, osv from openerp.tools import float_round, float_is_zero, float_compare from openerp.tools.translate import _ +_logger = logging.getLogger(__name__) + CURRENCY_DISPLAY_PATTERN = re.compile(r'(\w+)\s*(?:\((.*)\))?') class res_currency(osv.osv): @@ -49,7 +52,9 @@ class res_currency(osv.osv): id, rate = cr.fetchall()[0] res[id] = rate else: - res[id] = 0 + #to prevent division by zero in case no rate exist for the defined period, we put the rate to one + _logger.warning(("No currency rate associated for currency_id %d" % (id))) + res[id] = 1 return res _name = "res.currency" _description = "Currency"