Skip to content

Conversation

@qsm-odoo
Copy link

See odoo/odoo#104836

task-2963840

@qsm-odoo qsm-odoo self-assigned this Oct 23, 2025
@robodoo
Copy link
Collaborator

robodoo commented Oct 23, 2025

Pull request status dashboard

@qsm-odoo
Copy link
Author

Note: I did not find a perfect place to explain the very old <template> subtlety that was never documented. Seems good anyway as a first step with hopefully a better "frontend apps documentation refactoring" at some point.

Copy link
Collaborator

@AntoineVDV AntoineVDV left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! You could eventually move "The <asset> tag" section to the "Shortcuts" section of the data files doc and leave a seealso admonition behind in the "Assets" page.

Also, you'll need to rebase this branch to match the bases of the other branches in this bundle.

@robodoo delegate+

@qsm-odoo
Copy link
Author

You could eventually move "The tag" section to the "Shortcuts" section

That's the page I did not find, thanks. I'll do that 👍

@qsm-odoo qsm-odoo force-pushed the 15.0-assets_ignore_active-bso branch 2 times, most recently from 1f8d6a3 to 161b634 Compare October 24, 2025 12:40
@C3POdoo C3POdoo requested review from a team, kmagusiak and rco-odoo and removed request for a team October 24, 2025 12:41
Copy link
Author

@qsm-odoo qsm-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I handled all the comments. In the end, I simplified the 2 places I touched with a small "see also", linking to the template shortcut doc and the new asset shortcut doc.

I tried to refresh that shortcut section a bit (at least removing outdated fields that were mentioned in the "template" section). There is probably a lot more to refresh but I think that will do for now 👍

@robodoo r+

@qsm-odoo
Copy link
Author

@robodoo r-

🙃

Also removes outdated things in the `<template>` tag documentation and
reviews it a bit.

See odoo/odoo#104836

task-2963840
@qsm-odoo qsm-odoo force-pushed the 15.0-assets_ignore_active-bso branch from 7c1b76f to 8d24a93 Compare October 24, 2025 15:55
@qsm-odoo
Copy link
Author

@robodoo r+

robodoo pushed a commit to odoo/odoo that referenced this pull request Oct 24, 2025
*: test_website, base, web_editor, website, website_blog, website_event,
   website_mail_group, website_mass_mailing, website_payment,
   website_sale, test_assetsbundle

Before this commit when a module was updated all ir.asset records were
reset to their defined `active` state, if defined.
This causes assets related to old snippet versions to be made inactive
even if those old snippet versions are used inside existing pages.

It used to work when the activation of assets was made through view
inheritance because when views are defined through a `<template>` tag,
the `active` attribute is in fact ignored during updates since [1],
except for new records since [2].

This commit introduces an `<asset>` tag in the XML import format.
It is an alias of `<record ... model="ir.asset">` with the additional
feature that it avoids taking the `active` field into account during
updates for existing `ir_asset` records, just like `<template>` if the
`active` field is mentioned as attribute of the tag.
We then rely on the `website_disable_unused_snippets_assets` cron to
properly disable any unused asset at a later stage (note that the bug
being fixed here was mitigated by the fact that cron also re-enabled
assets which were disabled by mistake... but that might happen only a
few days later).

Another approach was to overload `_load_records_write` in `base`'s
`ir_asset.py` to avoid taking the `active` field into account when
updating records:
```py
    def _load_records_write(self, values):
        values.pop('active', None)
        super()._load_records_write(values)
```
But this is not as stable because it changes the way `ir.asset` records
are imported when the `<record>` tag is used. In the end we chose to be
consistent and do exactly the same as `<template>`, as this also allows
more and should be entirely stable.

[1]: 2d296cb#diff-175c28787c272a219b9275f79262a48af9aa029e718f45077fd609737559e84eR803-R804
[2]: f1c70d4#diff-175c28787c272a219b9275f79262a48af9aa029e718f45077fd609737559e84eR801-R804

task-2963840

closes #104836

Related: odoo/enterprise#35153
Related: odoo/documentation#14984
Related: odoo/design-themes#629
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Co-authored-by: qsm-odoo <qsm@odoo.com>
robodoo pushed a commit to odoo/design-themes that referenced this pull request Oct 24, 2025
*: theme_anelusia, theme_artists, theme_avantgarde,
   theme_aviato, theme_beauty, theme_bewise, theme_bistro,
   theme_bookstore, theme_buzzy, theme_clean, theme_cobalt,
   theme_enark, theme_graphene, theme_kea, theme_kiddo,
   theme_loftspace, theme_monglia, theme_nano, theme_notes,
   theme_odoo_experts, theme_orchid, theme_paptic,
   theme_real_estate, theme_test_custo, theme_treehouse,
   theme_vehicle, theme_yes, theme_zap

See community commit for details.

task-2963840

closes #629

Related: odoo/odoo#104836
Related: odoo/enterprise#35153
Related: odoo/documentation#14984
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Co-authored-by: qsm-odoo <qsm@odoo.com>
robodoo pushed a commit that referenced this pull request Oct 24, 2025
Also removes outdated things in the `<template>` tag documentation and
reviews it a bit.

See odoo/odoo#104836

task-2963840

closes #14984

Related: odoo/odoo#104836
Related: odoo/enterprise#35153
Related: odoo/design-themes#629
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
@robodoo robodoo closed this Oct 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants