summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorRomain Derie <rde@odoo.com>2021-01-12 18:40:46 +0000
committerRomain Derie <rde@odoo.com>2021-02-11 10:24:48 +0000
commit3f96cff0aa5097a386c289cf9fd2aeb3048376ab (patch)
tree9e4b113775e09771d5cd7cac9c84e94c30fc2e60 /CONTRIBUTING.md
parent156f35de1bafd5982812bc216a9daf3405a9b724 (diff)
[FIX] base, website: replicate inherit_id update on cow view
Before this commit, only whitelisted fields would be updated on cow views during a module update. A field would be whitelisted if he had the same value than the original view, see it as a heuristic to not write on modified fields. But `inherit_id` is not that simple, even if the cow view has a different value than its original view, it doesn't mean it was modified by the user, it is just because of the cow mechanism that assigned a copied view as inherit_id, which is just a copy ofthe original one. We can thus consider `inherit_id` as unchanged and whitelist it if the `key` is the same. In practice, it means that cow'd views did not receive the `inherit_id` updates as in commit https://github.com/odoo/odoo/commit/c8577568a1e39f6692889b3e21652fa3b8df06b2#diff-823e5db841dca1798ff1300e243059a4e1c93343598d2be5a1d1dcd1d2d0c273R537 where `portal.my_account_link` had its `inherit_id` changed from `portal.frontend_layout` to `portal.user_dropdow`, see https://github.com/odoo/upgrade/pull/2059: Considering a module update changing `inherit_id` of D from A to B, the following use cases are expected. Without this fix, D' never move: CASE 1 A A' B A A' B | | => / \ D D' D D' CASE 2 A A' B B' A A' B B' | | => | | D D' D D' CASE 3 A B A B / \ => / \ D D' D D' CASE 4 A B B' A B B' / \ => | | D D' D D' Opw: 2422773 Opw: 2422727 Opw: 2422770 Opw: 2423406 Opw: 2423859 X-original-commit: 2951ed681aa5e31563e501de691716806ddb46bd
Diffstat (limited to 'CONTRIBUTING.md')
0 files changed, 0 insertions, 0 deletions