diff options
| author | Martin Geubelle <mge@odoo.com> | 2019-04-05 12:34:37 +0000 |
|---|---|---|
| committer | Martin Geubelle <mge@odoo.com> | 2019-04-08 11:23:24 +0000 |
| commit | cdd644befc52017a788920393661ad645a744c1d (patch) | |
| tree | aebe84926ca094b3fa72545c93f89e7d847502a7 /addons/web/static/src/js/views/basic | |
| parent | b424aba504743cc65137c93dca74b6f118ecbde5 (diff) | |
[FIX] web: correctly update modifiers in editable list with buttons
Since rev. odoo/odoo@015958d it is possible to add buttons in list group
headers. These buttons are defined in <groupby> nodes, pointing to m2o
fields. Modifiers specified on these buttons thus use fields on the m2o
comodel.
There was a traceback in editable list view, when grouping by a m2o
that defines a groupby button with modifiers as the modifiers are not
registered with the same datapoint. When updating the modifiers, one
must ensure that the modifier are related to the updated record.
closes odoo/odoo#32456
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/views/basic')
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_renderer.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_renderer.js b/addons/web/static/src/js/views/basic/basic_renderer.js index f741e11b789..4c03d9b77a1 100644 --- a/addons/web/static/src/js/views/basic/basic_renderer.js +++ b/addons/web/static/src/js/views/basic/basic_renderer.js @@ -731,8 +731,12 @@ var BasicRenderer = AbstractRenderer.extend({ var defs = []; this.defs = defs; // Potentially filled by widget rerendering _.each(this.allModifiersData, function (modifiersData) { - modifiersData.evaluatedModifiers[record.id] = record.evalModifiers(modifiersData.modifiers); - self._applyModifiers(modifiersData, record); + // `allModifiersData` might contain modifiers registered for other + // records than the given record (e.g. <groupby> in list) + if (record.id in modifiersData.evaluatedModifiers) { + modifiersData.evaluatedModifiers[record.id] = record.evalModifiers(modifiersData.modifiers); + self._applyModifiers(modifiersData, record); + } }); delete this.defs; |
