diff --git a/odoo/addons/base/models/res_currency.py b/odoo/addons/base/models/res_currency.py index cfa39d13656..ef9ffb58cd6 100644 --- a/odoo/addons/base/models/res_currency.py +++ b/odoo/addons/base/models/res_currency.py @@ -3,11 +3,11 @@ import logging import math -import re -import time from lxml import etree + from odoo import api, fields, models, tools, _ +from odoo.exceptions import UserError from odoo.tools import parse_date _logger = logging.getLogger(__name__) @@ -349,6 +349,9 @@ class CurrencyRate(models.Model): return super().create([self._sanitize_vals(vals) for vals in vals_list]) def _get_latest_rate(self): + # Make sure 'name' is defined when creating a new rate. + if not self.name: + raise UserError(_("The date for the current rate is empty.\nPlease set it.")) return self.currency_id.rate_ids.sudo().filtered(lambda x: ( x.rate and x.company_id == (self.company_id or self.env.company)