diff --git a/addons/spreadsheet/models/res_lang.py b/addons/spreadsheet/models/res_lang.py index 57143a5550d..6d4ae813de4 100644 --- a/addons/spreadsheet/models/res_lang.py +++ b/addons/spreadsheet/models/res_lang.py @@ -19,6 +19,12 @@ class Lang(models.Model): spreadsheet_locales = [lang._odoo_lang_to_spreadsheet_locale() for lang in langs] return spreadsheet_locales + @api.model + def get_user_spreadsheet_locale(self): + """Convert the odoo lang to a spreadsheet locale.""" + lang = self._lang_get(self.env.user.lang) + return lang._odoo_lang_to_spreadsheet_locale() + def _odoo_lang_to_spreadsheet_locale(self): """Convert an odoo lang to a spreadsheet locale.""" return { diff --git a/addons/spreadsheet/static/tests/utils/mock_server.js b/addons/spreadsheet/static/tests/utils/mock_server.js index 6a2de0342be..4d6d1a4cc71 100644 --- a/addons/spreadsheet/static/tests/utils/mock_server.js +++ b/addons/spreadsheet/static/tests/utils/mock_server.js @@ -1,13 +1,14 @@ /** @odoo-module */ import { registry } from "@web/core/registry"; +import { constants } from "@odoo/o-spreadsheet"; registry .category("mock_server") .add("res.currency/get_currencies_for_spreadsheet", function (route, args) { const currencyNames = args.args[0]; const result = []; - for (let currencyName of currencyNames) { + for (const currencyName of currencyNames) { const curr = this.models["res.currency"].records.find( (curr) => curr.name === currencyName ); @@ -28,4 +29,7 @@ registry position: "after", decimalPlaces: 2, }; + }) + .add("res.lang/get_user_spreadsheet_locale", function (route, args) { + return constants.DEFAULT_LOCALE; });