Saturday, October 14, 2023
12 changes · master
Enhancements to existing features
This update removes redundant inherited tax group definitions from the Argentina, Spain, and Sweden localization modules. It simplifies accounting configuration data without changing day-to-day business workflows.
Original PR description
…groups Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update removes an unused Ecuador invoicing setting and adds a way to deactivate outdated or rarely used payment methods. Businesses using Ecuador localization can keep payment method lists cleaner without changing core invoicing behavior.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The import module setup flow has been simplified to rely on a single wizard instead of maintaining a separate Studio-specific override. This reduces duplicated behavior and should make the feature easier to maintain without changing the core business process.
Original PR description
The wizard is overriden by studio, but we don't really need it so, we modify it and we'll remove the override for studio. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Studio no longer keeps a separate version of the module import wizard because the needed behavior has been moved into the shared base product. This reduces duplicate maintenance and lowers the chance of inconsistencies between editions, with no expected day-to-day user impact.
Original PR description
The wizard that import module is overriden to simplify the one in wommunity which is not needed, so we moved the needed changes in community and remove this override.
Resolved issues and error corrections
This fixes an error that occurred when users added the Facebook page snippet to a website page. The snippet now builds its Facebook link correctly after a removed supporting library caused the previous setup to fail.
Original PR description
Since commit [1], the 'jquery.ba-bbq' library has been removed. Now, when you drop the Facebook snippet into a page, there is a traceback. This is because we were still using the 'querystring()' function from 'jquery.ba-bbq' to combine the parameters of the Facebook iframe's URL with its URL. [1]: https://github.com/odoo/odoo/commit/507c36883675a45a15485ce5c73aa4557ba23639 task-3543529
Miscellaneous changes
Before 16.4, there was a single ormcache for all usage, containing - compile qweb templates - t-cache - assets_bundle related logic - other stuff In 16.4, this cache was split in section, mainly: - templates: compile qweb templates + t-cache - asserts: assets_bundle logic - default: other stuff ... The main issue is with t-cache, where almost anything could invalidate this cache. The t-cache key should cover this case but if not precise enough we can have inconsistencies. In
Original PR description
Before 16.4, there was a single ormcache for all usage, containing - compile qweb templates - t-cache - assets_bundle related logic - other stuff In 16.4, this cache was split in section, mainly: -…
The employee appraisal screen now places the button in the correct header area. This fixes an awkward visual layout so the page looks cleaner and more consistent for users.
Original PR description
The button was put before the header instead in inside and that made the visual look weird.
Updated po file to consider the rename to Peruvian reports closes odoo/enterprise#48413 X-original-commit: 9d5c8af8408fb270e8bb38133a0485d3d498ca30
Original PR description
Updated po file to consider the rename to Peruvian reports closes odoo/enterprise#48413 X-original-commit: 9d5c8af8408fb270e8bb38133a0485d3d498ca30
Before 16.4, there was a single ormcache for all usage, containing
- compile qweb templates
- t-cache
- assets_bundle related logic
- other stuff
In 16.4, this cache was split in section, mainly:
- templates: compile qweb templates + t-cache
- asserts: assets_bundle logic
- default: other stuff
...
The main issue is with t-cache, where almost anything could invalidate this cache. The t-cache key should cover this case but if not precise enough we can have inconsistencies.
In this case, the t-cache was covering t-call-assets (asset bundle)
- Before 16.4, since all cache where invalidated, invalidating assets cache will also invalidate template cache, solving this issue
- After 16.4, this is not the case anymore. The assets-cache is invalidated, assets links in the t-cache are not valid anymore leading to 404.
Possible solution:
- invalidate t-cache when invalidating ir_assets.
This one is sad because we will also invalidate compiled template, one of the main goal of splitting the caches.
- add assets_links to the t-cache key
A little more complex and fragile
- invalidated t-cache in all case when invalidating other cache
This would solve all possible cache issue linked to t-cache using ormcached values.
- add t-no-cache on corresponding t-call-assets (an maybe make this automatic)
Seems like a good solution except that it will only work after updating templates
## Proposed solution
**invalidated t-cache in all case when invalidating other cache**
Registry caches are declared this way:
```python
_REGISTRY_CACHES = {
'default': 8192,
'assets': 512, # arbitrary
'templates': 1024, # arbitrary
'routing': 1024, # 2 entries per website
'routing.rewrites': 8192, # url_rewrite entries
'templates.cached_values': 2048, # arbitrary
}
```
A structure `cache_by_prefix` was computed absed on names (`.`)
This way, a, `templates.cached_values` was invalidated by the key `templates` and `routing.rewrites` by `routing`.
The cache_by_prefix was looking like
```python
{
'default': ('default',),
'assets': ('assets',),
'templates': ('templates',),
'routing': ('routing', 'routing.rewrites'),
}
```
This dynamicaly generated structure is replaced by an hardcoded one
```python
{
'default': ('default', 'templates.cached_values'),
'assets': ('assets', 'templates.cached_values'),
'templates': ('templates', 'templates.cached_values'),
'routing': ('routing', 'routing.rewrites', 'templates.cached_values'),
}
```
Forward-Port-Of: odoo/odoo#137816Before this commit, websocket tests were sometimes failing with the `no result to fetch` error. This is due to a race between the `subscribe` event being received which itself leads to dispatching bus notifications interferring with the rest of the test (the connection is shared). In order to solve this issue, the `WebsocketCase` now exposes a `subscribe` method that waits for this dispatching to be done in order to ensure it will not interfere with the rest of the test. Some tests were al
Original PR description
Before this commit, websocket tests were sometimes failing with the `no result to fetch` error. This is due to a race between the `subscribe` event being received which itself leads to dispatching bus notifications interferring with the rest of the test (the connection is shared). In order to solve this issue, the `WebsocketCase` now exposes a `subscribe` method that waits for this dispatching to be done in order to ensure it will not interfere with the rest of the test. Some tests were also failing because the subscription was done with 0 as the last notification id. This is an issue since this could lead to notifications being sent while they are not expected. In order to solve this issue, `last_notification_id` is now correctly passed when subscribing to channel notifications. fixes runbot-24226 Forward-Port-Of: odoo/odoo#138476
Forward-Port-Of: odoo/odoo#138602
Original PR description
Forward-Port-Of: odoo/odoo#138602
Followup of odoo/odoo@eb7a32c31cab, on large database with lot of account.move computation still take certain amount of time and database resources. This commit limit the computation of `days_sales_outstanding` only to the commercial partners that we need. Note: the field is only shown in the Partner form view, so most of the time we were only computing it for a single record | Before | After | |--------|-------| | 900ms | 20ms | opw-3530408 --- I confirm I have signed the
Original PR description
Followup of odoo/odoo@eb7a32c31cab, on large database with lot of account.move computation still take certain amount of time and database resources. This commit limit the computation of `days_sales_outstanding` only to the commercial partners that we need. Note: the field is only shown in the Partner form view, so most of the time we were only computing it for a single record | Before | After | |--------|-------| | 900ms | 20ms | opw-3530408 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#138605
Similar to d2edee2f6a6 Before this commit, web crawlers may endlessly index pages with tags, the number of combinations were very large very quickly and could lead to thousands of requests opw-3525473 Forward-Port-Of: odoo/odoo#138679
Original PR description
Similar to d2edee2f6a6 Before this commit, web crawlers may endlessly index pages with tags, the number of combinations were very large very quickly and could lead to thousands of requests opw-3525473 Forward-Port-Of: odoo/odoo#138679