Saturday, October 14, 2023
17 changes · master
New functionality added to Odoo
Website users can now choose from ready-made page templates when creating a new page, while still keeping the option to start from a blank page. This makes page creation faster and helps teams build consistent, use-case-focused website content with less manual design work.
Original PR description
This commit modifies the "New Page" dialog so that it displays a list of page templates to pick from in addition to the possibility to create a blank page. task-3381714
Enhancements to existing features
Point of Sale combo items now show more consistent component prices across orders, and self-order screens display the correct order total. The update also improves product visibility and fixes small naming issues that could hide restaurant order reminders.
Original PR description
## [FIX] pos_self_order: show correct total in order widget **BEFORE** <img width="388" alt="Screenshot 2023-10-12 at 15 49 45" src="https://github.com/odoo/odoo/assets/3245568/e7baef00-f333-4766-9d1d-b364f2d0fe11"> **AFTER** <img width="377" alt="Screenshot 2023-10-12 at 15 58 33" src="https://github.com/odoo/odoo/assets/3245568/084dee4c-50e5-42c5-909e-fb5a2c526b86">
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: -…
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
Businesses running multiple websites can now assign and share appointment types only on the relevant website. This makes online booking more targeted for visitors and easier to manage when different sites offer different services, while also improving the appointment loading process.
Original PR description
Having multiple websites demands appointments to belong to certain ones. In this commit I introduce multi website features on appointments, such as: appointment belonging to certain website, sharing appointment on certain website, selecting certain appointments while editing/customising website. This commit also refactors appointment controllers, extra function calls have been removed. The redundant function `_fetch_available_appointments` was removed, as it served only proxy purpose, its calls have been replaced by `_fetch_and_check_private_appointment_types`. In order to avoid recomputation of `available_appointments` the computation has been placed in the root level function and then results get passed down. task-3280546
Odoo Studio’s report editor now keeps an original copy of a report view before changes are made, making it easier to compare edits and support upgrades. The editor also behaves more reliably when reports have errors, reloads saved XML correctly, and improves small interface details for a smoother editing experience.
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.
Adds a CSV export for the Danish general ledger to help companies meet updated annual reporting requirements from Danish authorities. This makes it easier to produce accounting files in the government-specified format.
Original PR description
The Danish Tax Agency and the Danish Business Authority are launching an updated common standard chart of accounts. For the accounting act, we are now required to generate a csv file for the annual account This commit adds an export CSV from the general ledger, following the strucure from Danish government's documentation at https://erhvervsstyrelsen.dk/sites/default/files/2019-03/Vejledning%20til%20upload%20af%20CSV%20filer%20V.1.pdf task-id: 3522916
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