Friday, April 28, 2023
20 changes
Enhancements to existing features
The Swedish reporting tests were updated to match the latest tax and account naming taxonomy. This helps keep report validation reliable as naming conventions change, reducing the risk of false test failures without changing business workflows.
Original PR description
As the taxes name change with the new taxonomy, the tests must be slightly adapted to continue to use the same taxes Task-3052677 Task-3122530
The message shown to read-only users viewing restricted, unpublished knowledge articles has been reworded. This makes the article access status easier to understand by explaining that the article is not published and only specific people can access it.
Original PR description
This commit rewords the div added by the website_knowledge module inside the PermissionPanel. It now says : 'Article not Published Only specific people can access' This is changed for users that can only read the article with no editing rights task-3290824
This change updates an internal Discuss Enterprise performance test to account for an additional check of link preview status. It keeps automated quality checks aligned with current behavior, with no expected direct impact for end users.
Original PR description
Community: https://github.com/odoo/odoo/pull/99564
The Discuss-related components in Odoo Enterprise were adjusted to rely on fewer external dependencies and to load shared messaging components more directly. This helps simplify maintenance and can improve reliability for features that integrate with discussions, such as Approvals, Documents, Sign, and VoIP.
Original PR description
Task-2967711 Community: https://github.com/odoo/odoo/pull/99259
Resolved issues and error corrections
This update keeps the chat window manager attached to the main page body so messaging windows remain consistently available in the web client. It supports a more stable user experience when using Odoo's enterprise interface and related chat features.
Original PR description
Linked to https://github.com/odoo/odoo/pull/29617 Task-ID 1914207
Features or functions removed from Odoo
This update removes an old internal search parameter that was no longer used and had misleading documentation. It simplifies maintenance across several Odoo apps without changing how users interact with the system.
Original PR description
`name_get_uid` is unused (at least since v14) and the documentation about it, is wrong. odoo/odoo#117819
Code cleanup and technical improvements
This update reorganizes how the system temporarily blocks user actions during processing, making that capability available through a shared service. It supports the ongoing modernization of the web interface and helps reduce internal dependencies, improving maintainability across several business apps.
Original PR description
Task-Id 2183810
Miscellaneous changes
Prior to this fix, it was impossible to delete a hr.expense.sheet with no hr.expense as it would try to call .pop on an empty set Forward-Port-Of: odoo/enterprise#40533
Original PR description
Prior to this fix, it was impossible to delete a hr.expense.sheet with no hr.expense as it would try to call .pop on an empty set Forward-Port-Of: odoo/enterprise#40533
Dark mode button styling has been refined so secondary buttons are easier to distinguish from page backgrounds. Hover and active states now use brighter, more consistent colors, improving readability and usability across affected Odoo screens.
Original PR description
This PR introduces some minor changes to the dark mode buttons color. Previously, there was an issue with secondary buttons having a `$o-gray-200` background in light mode which is equal to `$o-view-background-color` in dark mode, so we couldn't distinguish buttons over the background. The methode used in this commit is to lighten a `$o-gray-*` variable to keep it consistent with our existing grayscale. There is also an improvement on the `hover` and `active` state of these secondary buttons. We were previously using `$o-white` as the background which becomes `$o-black`in dark mode. We now use a dark green color mixed with the action-color to get something lighter and brighter.
The schedule shortcut now uses the record currently being viewed instead of carrying over a record reference from a previous screen. This prevents users from opening or acting on the wrong manufacturing planning schedule when navigating between related records.
Original PR description
Before this commit, the context added to the schedule stat button contained a reference to the active_id value. However, in this case, we actually want the current id of the record that we are looking at, not the id from a previous view. Note that as far as I can tell, almost every use of `active_id` in stat button is wrong. It just usually works because we don't have an active id set, and there is a fallback in the basicmodel to get the current record id instead. However, if a user would get to that form view by following some other relations and coming from another form view, then the active_id would not be correct.
This pull request updates the underlying messaging and discussion components used across several Odoo apps, including accounting, invoice processing, and approvals. The changes appear focused on refactoring and consistency, helping maintain the platform without introducing major user-facing changes.
This update reorganizes and simplifies internal files that support messaging, approvals, knowledge, signing, and related business workflows. It should make future maintenance easier for developers without changing day-to-day user behavior.
Original PR description
Task-3057085 Community: https://github.com/odoo/odoo/pull/105098
During this task: https://www.odoo.com/web#id=2973476&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form, we try to fix an earnings problem with the l10n_lu reports. We did a PR in 16.0 to fix this (https://github.com/odoo/enterprise/pull/39130) but forgot an "or" in the formula. task-id: 2973476 Forward-Port-Of: odoo/enterprise#40447
Original PR description
During this task: https://www.odoo.com/web#id=2973476&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form, we try to fix an earnings problem with the l10n_lu reports. We did a PR in 16.0 to fix this (https://github.com/odoo/enterprise/pull/39130) but forgot an "or" in the formula. task-id: 2973476 Forward-Port-Of: odoo/enterprise#40447
Edit company contact address with Zip Code 31830 (CHH state) Issue an invoice PAC will fail to sign the CFDI with error """ Code : 401 Message : Fecha y hora de generación fuera de rango """ Correct timezone for TIEMPO_DEL_NOROESTE_ZIPCODES is America/Ciudad_Juarez available in latest revision of pytz package (pytz-2022.7.1) So use a similar timezone: America/Boise opw-3158554 Forward-Port-Of: odoo/enterprise#38881
Original PR description
Edit company contact address with Zip Code 31830 (CHH state) Issue an invoice PAC will fail to sign the CFDI with error """ Code : 401 Message : Fecha y hora de generación fuera de rango """ Correct timezone for TIEMPO_DEL_NOROESTE_ZIPCODES is America/Ciudad_Juarez available in latest revision of pytz package (pytz-2022.7.1) So use a similar timezone: America/Boise opw-3158554 Forward-Port-Of: odoo/enterprise#38881
opw-3289147 Forward-Port-Of: odoo/enterprise#40443
Original PR description
opw-3289147 Forward-Port-Of: odoo/enterprise#40443
Before this commit, the context added to the schedule stat button contained a reference to the active_id value. However, in this case, we actually want the current id of the record that we are looking at, not the id from a previous view. Note that as far as I can tell, almost every use of `active_id` in stat button is wrong. It just usually works because we don't have an active id set, and there is a fallback in the basicmodel to get the current record id instead. However, if a user would ge
Original PR description
Before this commit, the context added to the schedule stat button contained a reference to the active_id value. However, in this case, we actually want the current id of the record that we are looking at, not the id from a previous view. Note that as far as I can tell, almost every use of `active_id` in stat button is wrong. It just usually works because we don't have an active id set, and there is a fallback in the basicmodel to get the current record id instead. However, if a user would get to that form view by following some other relations and coming from another form view, then the active_id would not be correct. Forward-Port-Of: odoo/enterprise#40488
Previously, when a reward was applied on a product, the product was checked against the reward_product_ids field, which is a computed m2m field that contains all the IDS of the products on which this reward is available. In many cases, rewards are available on all products, causing the computation of the m2m to fill it with the ids of all products. This caused performance issues on all DBs with lots of products (~200k) in all flows involving rewards. We can't remove reward_product_ids from th
Original PR description
Previously, when a reward was applied on a product, the product was checked against the reward_product_ids field, which is a computed m2m field that contains all the IDS of the products on which this…
Previously, when a reward was applied on a product, the product was checked against the reward_product_ids field, which is a computed m2m field that contains all the IDS of the products on which this reward is available. In many cases, rewards are available on all products, causing the computation of the m2m to fill it with the ids of all products. This caused performance issues on all DBs with lots of products (~200k) in all flows involving rewards. We can't remove reward_product_ids from the data loaded in the frontend in stable because existing JS customisations might crash if they depend on its presence. As such, to keep compatibility with existing databases, an ir.config_parameter has been introduced to opt into the new behaviour. This parameter is set when creating a database so that new databases don't suffer from this performance penalty. For existing databases, the parameter can be set by hand if the old behaviour is not necessary and the performance penalty is an issue in practice, but is unset by default. When opting into the new behaviour, the reward_product_ids field now always evaluates to an empty recordset, and the desired behaviour should be achieved by evaluating records against the reward_product_domain instead. In the point_of_sale, the products available on rewards are calculated by evaluating each product against the reward when it is loaded. In the loyalty modules, instead of using the in operator on the reward_product_ids field, we instead evaluate the reward product domain against the product, which is much faster. This is always done even when not opting into the new behaviour as the change in implementation cannot be observed outside of timing. Forward-Port-Of: odoo/enterprise#40455 Forward-Port-Of: odoo/enterprise#40137
Adapts l10n_ec_edi.TaxTotalsComponentForWithhold to the latest changes of its base class account.TaxTotalsComponent - Overridden formatting method renamed to formatData - Formatting method directly called from the super.setup(), therefore super.setup() can't be called anymore, instead rewrote setup() without calling super Forward-Port-Of: odoo/enterprise#40434 Forward-Port-Of: odoo/enterprise#40354
Original PR description
Adapts l10n_ec_edi.TaxTotalsComponentForWithhold to the latest changes of its base class account.TaxTotalsComponent - Overridden formatting method renamed to formatData - Formatting method directly called from the super.setup(), therefore super.setup() can't be called anymore, instead rewrote setup() without calling super Forward-Port-Of: odoo/enterprise#40434 Forward-Port-Of: odoo/enterprise#40354
task-3245969 Forward-Port-Of: odoo/enterprise#38702
Original PR description
task-3245969 Forward-Port-Of: odoo/enterprise#38702
Steps: - Install timesheet and helpdesk app. - Go to timesheet. - Group by ticket field. - Try to add timesheet from grid cell. Issue: - Validation error. Cause: - Cell does not check ticket field on timesheet to add from grid cell. Fix: - Add a method to check on which field user adding timesheet and set that field accordingly, task-3255754 Forward-Port-Of: odoo/enterprise#40417
Original PR description
Steps: - Install timesheet and helpdesk app. - Go to timesheet. - Group by ticket field. - Try to add timesheet from grid cell. Issue: - Validation error. Cause: - Cell does not check ticket field on timesheet to add from grid cell. Fix: - Add a method to check on which field user adding timesheet and set that field accordingly, task-3255754 Forward-Port-Of: odoo/enterprise#40417