From d8134350b8a3cf6966c58bfaf372fc28fbee37b3 Mon Sep 17 00:00:00 2001 From: Mohammed Shekha Date: Mon, 12 Oct 2020 10:08:39 +0000 Subject: [PATCH] [IMP] base,stock,web,website_sale: replace create_text with add-label before this commit: create_text was passed in node options and due to which it was not parsed by translate.py, pass add-label as attribute on field so that translate.py parse it and it is translated. after this commit: create_text will be passed as field attribute instead of node options. task-1923433 closes odoo/odoo#59713 Related: odoo/enterprise#19418 Signed-off-by: Simon Genin (ges@odoo) --- addons/stock/views/stock_picking_views.xml | 2 +- addons/web/static/src/legacy/js/fields/relational_fields.js | 6 ++---- .../fields/relational_fields/field_many2many_tests.js | 4 ++-- .../legacy/fields/relational_fields/field_one2many_tests.js | 4 ++-- addons/website_sale/views/product_views.xml | 4 ++-- odoo/addons/base/rng/common.rng | 1 + odoo/tools/translate.py | 2 +- 7 files changed, 11 insertions(+), 12 deletions(-) diff --git a/addons/stock/views/stock_picking_views.xml b/addons/stock/views/stock_picking_views.xml index 80b17dbe537..c8afd05ec3f 100644 --- a/addons/stock/views/stock_picking_views.xml +++ b/addons/stock/views/stock_picking_views.xml @@ -336,7 +336,7 @@ + add-label="Add a Product"> diff --git a/addons/web/static/src/legacy/js/fields/relational_fields.js b/addons/web/static/src/legacy/js/fields/relational_fields.js index 635a3686402..7a7f916e677 100644 --- a/addons/web/static/src/legacy/js/fields/relational_fields.js +++ b/addons/web/static/src/legacy/js/fields/relational_fields.js @@ -1112,9 +1112,7 @@ var FieldX2Many = AbstractField.extend(WidgetAdapterMixin, { */ init: function (parent, name, record, options) { this._super.apply(this, arguments); - this.nodeOptions = _.defaults(this.nodeOptions, { - create_text: _t('Add'), - }); + this.createText = this.attrs['add-label'] || _t('Add'); this.operations = []; this.isReadonly = this.mode === 'readonly'; this.view = this.attrs.views[this.attrs.mode]; @@ -1381,7 +1379,7 @@ var FieldX2Many = AbstractField.extend(WidgetAdapterMixin, { _getButtonsRenderingContext() { return { btnClass: 'btn-secondary', - create_text: this.nodeOptions.create_text, + create_text: this.createText, }; }, /** diff --git a/addons/web/static/tests/legacy/fields/relational_fields/field_many2many_tests.js b/addons/web/static/tests/legacy/fields/relational_fields/field_many2many_tests.js index 9f768773cab..5cc98e0e989 100644 --- a/addons/web/static/tests/legacy/fields/relational_fields/field_many2many_tests.js +++ b/addons/web/static/tests/legacy/fields/relational_fields/field_many2many_tests.js @@ -269,7 +269,7 @@ QUnit.module('fields', {}, function () { form.destroy(); }); - QUnit.test('many2many kanban(editable): properly handle create_text node option', async function (assert) { + QUnit.test('many2many kanban(editable): properly handle add-label node attribute', async function (assert) { assert.expect(1); this.data.partner.records[0].timmy = [12]; @@ -279,7 +279,7 @@ QUnit.module('fields', {}, function () { model: 'partner', data: this.data, arch: '
' + - '' + + '' + '' + '' + '' + diff --git a/addons/web/static/tests/legacy/fields/relational_fields/field_one2many_tests.js b/addons/web/static/tests/legacy/fields/relational_fields/field_one2many_tests.js index 83e3b50a699..67488fc7972 100644 --- a/addons/web/static/tests/legacy/fields/relational_fields/field_one2many_tests.js +++ b/addons/web/static/tests/legacy/fields/relational_fields/field_one2many_tests.js @@ -2497,7 +2497,7 @@ QUnit.module('fields', {}, function () { form.destroy(); }); - QUnit.test('one2many kanban (editable): properly handle create_text node option', async function (assert) { + QUnit.test('one2many kanban (editable): properly handle add-label node attribute', async function (assert) { assert.expect(1); var form = await createView({ @@ -2505,7 +2505,7 @@ QUnit.module('fields', {}, function () { model: 'partner', data: this.data, arch: '' + - '' + + '' + '' + '' + '' + diff --git a/addons/website_sale/views/product_views.xml b/addons/website_sale/views/product_views.xml index 6696a3e9b58..2232d31c1de 100644 --- a/addons/website_sale/views/product_views.xml +++ b/addons/website_sale/views/product_views.xml @@ -120,7 +120,7 @@ - + @@ -134,7 +134,7 @@ - + diff --git a/odoo/addons/base/rng/common.rng b/odoo/addons/base/rng/common.rng index aa0266c79b0..c4b70a5edf9 100644 --- a/odoo/addons/base/rng/common.rng +++ b/odoo/addons/base/rng/common.rng @@ -269,6 +269,7 @@ + diff --git a/odoo/tools/translate.py b/odoo/tools/translate.py index 3f68da25b1b..19efd27db47 100644 --- a/odoo/tools/translate.py +++ b/odoo/tools/translate.py @@ -147,7 +147,7 @@ TRANSLATED_ELEMENTS = { # Which attributes must be translated. This is a dict, where the value indicates # a condition for a node to have the attribute translatable. TRANSLATED_ATTRS = dict.fromkeys({ - 'string', 'help', 'sum', 'avg', 'confirm', 'placeholder', 'alt', 'title', 'aria-label', + 'string', 'add-label', 'help', 'sum', 'avg', 'confirm', 'placeholder', 'alt', 'title', 'aria-label', 'aria-keyshortcuts', 'aria-placeholder', 'aria-roledescription', 'aria-valuetext', 'value_label', }, lambda e: True)