From 75e9e55080adb45ac467e7d2349a63442c087ea4 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Tue, 17 Nov 2020 14:00:29 +0000 Subject: [PATCH] [FIX] web: stop showing translation alert in settings STEPS: * install module "account" * activate at least one additional languages * go to Settings as set value to "Default Terms & Conditions" * click Save * again at Settings make any changes in any field * click Save BEFORE: * while page is reloading you see alert "Please update translations of: Terms & Conditions" * once page is reloaded the alert is gone * the alert doesn't depend on weither translations are done or not AFTER: no annoying alerts WHY: * in res.config.settings any field with default values (i.e. almost all fields) are marked as changed https://github.com/odoo/odoo/blob/d652dbb9655d98b4121ac685e6444bbf7e303292/odoo/addons/base/models/res_config.py#L493 https://github.com/odoo/odoo/blob/93a2e85ae7b11f9a390f40f74e6d78e1ec876fc3/addons/web/static/src/js/views/basic/basic_model.js#L254 * the idea of alert is suggesting to translate just changed fields https://github.com/odoo/odoo/blob/93a2e85ae7b11f9a390f40f74e6d78e1ec876fc3/addons/web/static/src/js/views/form/form_renderer.js#L136-L140 * saving settings always leads to reloading https://github.com/odoo/odoo/blob/93a2e85ae7b11f9a390f40f74e6d78e1ec876fc3/odoo/addons/base/models/res_config.py#L639-L647 * So, the alert cannot work for Settings page. There is no better option for stable branch than just disabling it --- opw-2346644 closes odoo/odoo#62024 X-original-commit: 5c6850788bd453cae82b6a58f99d11266370277a Signed-off-by: Ivan Yelizariev // IEL --- odoo/addons/base/static/src/js/res_config_settings.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/odoo/addons/base/static/src/js/res_config_settings.js b/odoo/addons/base/static/src/js/res_config_settings.js index 3b4fdc81115..fdaf5edfd37 100644 --- a/odoo/addons/base/static/src/js/res_config_settings.js +++ b/odoo/addons/base/static/src/js/res_config_settings.js @@ -45,6 +45,17 @@ var BaseSettingRenderer = FormRenderer.extend({ this.searchInput.focus(); }, + /** + * @override + */ + displayTranslationAlert: function () { + // Translation alerts are disabled for res.config.settings: + // those are designed to warn user to translate field he just changed, but + // * in res.config.settings almost all fields marked as changed (because + // it's not a usual record and all values are set via default_get) + // * page is reloaded after saving, so those alerts would be visible + // only for short time after clicking Save + }, /** * initialize modules list. * remove module that restricted in groups