Friday, November 17, 2023
17 changes · 17.0
Enhancements to existing features
Spreadsheet pivot and list helpers now reuse formula information that is already available instead of recalculating it. This reduces unnecessary processing and should make spreadsheet interactions a little more efficient without changing user-visible behavior.
Original PR description
The pivot/list helpers were tokenizing the cell's content when trying to find list/pivot formulas. But we can skip the tokenize call as we already have the tokens in the cell's compiledFormula. Task: [3584306](https://www.odoo.com/web#id=3584306&menu_id=4720&cids=1&action=333&active_id=2328&model=project.task&view_type=form) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves the performance of spreadsheet pivot and list features by removing unnecessary processing steps. The system was redundantly converting cell formulas twice; this change eliminates that duplication, making spreadsheet operations faster and more efficient.
Original PR description
The pivot/list helpers were tokenizing the cell's content when trying to find list/pivot formulas. But we can skip the tokenize call as we already have the tokens in the cell's compiledFormula. Task: [3584306](https://www.odoo.com/web#id=3584306&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
Resolved issues and error corrections
This fixes how the system builds file paths when loading base module resources. It helps prevent incorrect path resolution in edge cases, improving reliability without changing user-facing workflows.
Original PR description
`os.path.join(..., <absolute>)` returns `<absolute>` path
Documentation and clarification updates
This pull request records that contributor juanmanuelnunez has signed the required Contributor License Agreement. It is an administrative legal update that helps keep contributions compliant and does not change product 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
Miscellaneous changes
When 'getadresses' fails at parsing some input and give us a result like 'gmail.com' (see previous commit adding test cases) we fallback on using 'email_re' which is better at finding email addresses in a global string. We use it only in this specific case as fallback mechanism to rely on 'getadresses' when possible. Task-3572208 Forward-Port-Of: odoo/odoo#141162 Forward-Port-Of: odoo/odoo#139887
Original PR description
When 'getadresses' fails at parsing some input and give us a result like 'gmail.com' (see previous commit adding test cases) we fallback on using 'email_re' which is better at finding email addresses in a global string. We use it only in this specific case as fallback mechanism to rely on 'getadresses' when possible. Task-3572208 Forward-Port-Of: odoo/odoo#141162 Forward-Port-Of: odoo/odoo#139887
This update fixes automated tests in the accounting and bank statement modules that were failing because they relied on demo data. The tests have been updated to work independently, ensuring the system can be tested properly even when demo data is not installed. This improves the reliability of the testing process.
Original PR description
We want the tests to be able to run even without demo data. These use a res_partner/res_partner_bank defined in demo data. The account_asset test was forgotten during the fw-port of https://github.com/odoo/enterprise/commit/d8e5b62dfadffb6b81e61fce73053fa806fc2c6c Runbot error: 26966, 26308, 26986 Forward-Port-Of: odoo/enterprise#50512 Forward-Port-Of: odoo/enterprise#49851
This update improves how the system handles situations when incoming customer emails with XML attachments cannot be matched to existing invoices in the database. Instead of treating these cases as critical errors, the system now logs them as warnings, reducing unnecessary alert noise while still tracking the issue for investigation.
Original PR description
While retrieving emails from incoming customers, this issue will only be triggered when the emails contain attachments of the .xml file type. Subsequently, a data matching process is carried out between the email content and the searched database. If no matching data or IDs are found, an error is thrown. Traceback: ``` Move not found with partner: 672, name: FAC 016714, l10n_latam_document_type: 1, company_id: 1 ``` This commit will change logger error to logger warning. sentry- 4305483242 Forward-Port-Of: odoo/enterprise#44248
The appointment module's email parser has been improved to better handle complex email inputs with multiple email addresses. This fix updates the corresponding tests to reflect the enhanced email detection capability, ensuring the system can now correctly process unusual multi-email formats that previously may have been missed.
Original PR description
We now find more emails when input is a strange multi-emails like input. See community PR for more details. Task-3572208
This update corrects a test case in the barcode scanning module to properly handle procurement groups. The test was creating multiple inventory moves with conflicting procurement group settings in the same picking operation, which is not a valid business scenario. This fix ensures the test accurately reflects how the system should work.
Original PR description
Following https://github.com/odoo/odoo/pull/138623, creating 2 moves with different procurement group in the same picking makes no sens opw-3470090 Forward-Port-Of: odoo/enterprise#50821
Steps to reproduce: - Enable show detailed operation in delivery setting on Invetory overview - Create an SO and validate the delivery order - Create a return -> Click on the smart button on the SO for transfers - Click "New" from the list to create a new delivery order - Add a product on the detailed operation and return to the SO - The new picking isn't linked to the SO Bug: when adding a Product on the operation tab the move is created first with the correct procurement group and th
Original PR description
Steps to reproduce: - Enable show detailed operation in delivery setting on Invetory overview - Create an SO and validate the delivery order - Create a return -> Click on the smart button on the SO for transfers - Click "New" from the list to create a new delivery order - Add a product on the detailed operation and return to the SO - The new picking isn't linked to the SO Bug: when adding a Product on the operation tab the move is created first with the correct procurement group and then sets the correct group on the picking however when adding to the detailed operation (SML) the picking is created first (no group_id) and sets its group_id(False) the move Fix: apply the default group_id to the picking in both cases opw-3470090 Forward-Port-Of: odoo/odoo#138623
Description of the issue/feature this PR addresses: The purpose of this change is to be able to get the price of the products from external APIs. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#142293
Original PR description
Description of the issue/feature this PR addresses: The purpose of this change is to be able to get the price of the products from external APIs. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#142293
Steps to reproduce: - Enable multi steps route for manufacturing (in Inventory settings) - Crete and confirm an MO with a kit and a non kit manufactured components (eg: table kit and desk combination) - Validate the created transfer - Print the delivery slip Bug: the manufactured product is absent from the delivery slip Fix: apply the correct filter on the move lines opw-3502881 Forward-Port-Of: odoo/odoo#141811
Original PR description
Steps to reproduce: - Enable multi steps route for manufacturing (in Inventory settings) - Crete and confirm an MO with a kit and a non kit manufactured components (eg: table kit and desk combination) - Validate the created transfer - Print the delivery slip Bug: the manufactured product is absent from the delivery slip Fix: apply the correct filter on the move lines opw-3502881 Forward-Port-Of: odoo/odoo#141811
When using the payment link wizard with a reference including the "+" character, it was encoded as %252B instead of %2B, thus showing as %2B instead of + as expected. This was due to url_quote that pre-encoded some characters that were then re-encoded in url_encode. opw-3290930 Forward-Port-Of: odoo/odoo#142295
Original PR description
When using the payment link wizard with a reference including the "+" character, it was encoded as %252B instead of %2B, thus showing as %2B instead of + as expected. This was due to url_quote that pre-encoded some characters that were then re-encoded in url_encode. opw-3290930 Forward-Port-Of: odoo/odoo#142295
5921343c2a663f77b7ee01d0ba73892f62b3c191 removed values that didn't include taxes but section subtotals were forgotten. task-3562904 Forward-Port-Of: odoo/odoo#139540
Original PR description
5921343c2a663f77b7ee01d0ba73892f62b3c191 removed values that didn't include taxes but section subtotals were forgotten. task-3562904 Forward-Port-Of: odoo/odoo#139540
Steps to reproduce: - In edit mode, drop the "Masonry" snippet. => There are spaces on the left and the right of the snippet. It should not be the case as it is supposed to take the whole space, since its container width is full (`container-fluid` class). This happens because since commit [1], the rule setting the `--gutter-x` CSS variable (which manages the row margins) to 30px when the container is full width is now overridden by the general `.o_grid_mode` rule that sets it to 0px, m
Original PR description
Steps to reproduce: - In edit mode, drop the "Masonry" snippet. => There are spaces on the left and the right of the snippet. It should not be the case as it is supposed to take the whole space,…
Steps to reproduce: - In edit mode, drop the "Masonry" snippet. => There are spaces on the left and the right of the snippet. It should not be the case as it is supposed to take the whole space, since its container width is full (`container-fluid` class). This happens because since commit [1], the rule setting the `--gutter-x` CSS variable (which manages the row margins) to 30px when the container is full width is now overridden by the general `.o_grid_mode` rule that sets it to 0px, making the negative margins disappear. Indeed, in commit [1], in order to disable the grid mode when used in a mega menu that is in an extra menu (because the layout was broken), the CSS selector managing the `.o_grid_mode` class has been modified. This change caused the specificity of the rule to increase (x3), which made it override the container rule. This commit reverts this change and disables the grid mode in the extra menu in a better way, by adding a proper rule for this specific case. [1]: https://github.com/odoo/odoo/commit/709bffcb6de8883b679c0fc942f45cb293621c30 task-3593697 Forward-Port-Of: odoo/odoo#141956
The "reset password" feature does not take into account multi-website. steps to reproduce: - create a website A - uncheck 'Shared Customer Accounts' on website A - create a portal user user@example.com on website A - create a website B - uncheck 'Shared Customer Accounts' on website B - create a portal user user@example.com on website B - reset password for user@example.com on any website before this commit: An error is raised "No account found for this login" (which is false, actu
Original PR description
The "reset password" feature does not take into account multi-website. steps to reproduce: - create a website A - uncheck 'Shared Customer Accounts' on website A - create a portal user user@example.com on website A - create a website B - uncheck 'Shared Customer Accounts' on website B - create a portal user user@example.com on website B - reset password for user@example.com on any website before this commit: An error is raised "No account found for this login" (which is false, actually 2 accounts are found) after this commit: Only the user linked to the current website is properly selected opw-3551540 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#141942 Forward-Port-Of: odoo/odoo#140536
…ations) Before this commit, we waited for mutations to take place to determine the state undo/redo of the reportEditorWysiwyg. In some cases this was problematic, namely when inserting a field, because the OdooEditor handled its history on its own during the operation. After this commit, the reportEditorWysiwyg listens on the "historyStep" event of the OdooEditor, which seems to be the right API for this. Forward-Port-Of: odoo/enterprise#50835
Original PR description
…ations) Before this commit, we waited for mutations to take place to determine the state undo/redo of the reportEditorWysiwyg. In some cases this was problematic, namely when inserting a field, because the OdooEditor handled its history on its own during the operation. After this commit, the reportEditorWysiwyg listens on the "historyStep" event of the OdooEditor, which seems to be the right API for this. Forward-Port-Of: odoo/enterprise#50835