Daily updates from Odoo
Thursday, December 5, 2024
14 changes
2 changes
Resolved issues and error corrections
This update brings Odoo’s spreadsheet component up to the latest maintenance version and fixes several issues affecting spreadsheet interactions. It improves reliability for action buttons, sheet naming, and pivot-related calculations, helping users avoid errors in day-to-day spreadsheet work.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/9b13f22de [REL] 17.4.15 Task: 0 https://github.com/odoo/o-spreadsheet/commit/992622618 [FIX] action button: use nextProps instead of this.props Task: 0 https://github.com/odoo/o-spreadsheet/commit/06b13c9fd [FIX] helpers: Add generic helper to sanitize sheet names Task: 4347719 https://github.com/odoo/o-spreadsheet/commit/094335658 [FIX] pivot: handle boolean-like function arguments in `getPivotCellFromPosition` Task: 4207502 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
Fixes an issue where imported pricelists could ignore percentage markups on cost-based pricing rules. This ensures sales quotations use the intended marked-up prices after pricelists are exported and re-imported.
Original PR description
Versions -------- - saas-17.4+ Steps ----- 1. Create a pricelist; 2. add a rule using a cost-based formula; 3. add a 50% markup; 4. export pricelist, then delete or archive it; 5. import pricelist;…
Versions -------- - saas-17.4+ Steps ----- 1. Create a pricelist; 2. add a rule using a cost-based formula; 3. add a 50% markup; 4. export pricelist, then delete or archive it; 5. import pricelist; 6. use pricelist on a quotation. Issue ----- The markup isn't applied. Cause ----- Commit 06d0053763cd added the `price_markup` field to `product.pricelist.item`. Whenever the markup is set/changed, the `price_discount` field is supposed to get set to its negative value. Currently this only happens in an `onchange` method, which does not get called during import: https://github.com/odoo/odoo/blob/9905de54a55b6d77f67772dde7b2d0ea21adaff1/addons/product/models/product_pricelist_item.py#L322-L325 The value of `price_discount` is what eventual price calculations are based on, so if this isn't updated along with `price_markup`, any price mark-up gets ignored. Solution -------- Ensure `price_markup` & `price_discount` are consistent with each other on using `_compute_price_markup` and `_inverse_price_markup`. opw-4282087
1 change
Resolved issues and error corrections
The spreadsheet component was updated to a newer version, including a fix that improves action button behavior. It also adds support for the VALUE spreadsheet function, helping users convert text-based numbers into usable numeric values.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/7b4b898da [REL] 17.2.29 Task: 0 https://github.com/odoo/o-spreadsheet/commit/fc717b392 [FIX] action button: use nextProps instead of this.props Task: 0 https://github.com/odoo/o-spreadsheet/commit/70cb0f5fa [IMP] functions: add VALUE function Task: 4373019 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
1 change
Resolved issues and error corrections
This fix ensures Point of Sale screens refresh properly when orders are added or removed. It prevents outdated order tabs from staying visible, improving reliability for staff managing active or floating orders.
Original PR description
The records cache (from `related_models` module) isn't properly linked to the reactivity of `posmodel`. As a result, some expected rerenderings aren't executed. An example of this is the `OrderTab`.…
The records cache (from `related_models` module) isn't properly linked to the reactivity of `posmodel`. As a result, some expected rerenderings aren't executed. An example of this is the `OrderTab`. When a new floating order is created the `OrderTab` rerenders listing the new order. However, when that empty order is deleted, the corresponding tab item isn't removed in the list. That is because the `OrderTab`'s render method isn't properly subscribed to the changes in `models['pos.order']`. The render subscription doesn't exist because `models['pos.order'].readAll` isn't reading on the reactive version of the `records` cache. That is because `get orderedRecords` is pointing to the non-reactive version of `records`. `get records` exists in `models` and that's what we should use to properly link it to the reactivity and that `OrderTab` properly subscribes `models['pos.order']`. In this PR we are making sure that the methods of `models` (return value of `createCRUD`) is properly using the `reactive` version of the `records` cache. We then pass that version to the CRUD methods to ensure continuity of reactivity in the records. We also need to make changes in the `OrderTab` template, converting `floating-order-container` from `id` to `class` since it's being used for each order. We should not have multiple instances of an id in the html. TASK-ID: 4369054
7 changes
Resolved issues and error corrections
This fix keeps chatbots out of live chat calls, where they are not useful, and prevents a crash when users click a bot in the channel member list. It makes live chat interactions more stable and avoids confusing call participants.
Original PR description
This PR fixes two issues: - Chatbot is added to calls while it makes no sense. - Clicking on the bot in the channel member list leads to a crash. task-4354075 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
Fixes a mobile website issue that could prevent customers from scrolling during checkout. This improves the shopping experience on affected devices by ensuring the mobile navigation no longer interferes with page size while the header changes position.
Original PR description
Since [commit [1]](https://github.com/odoo/odoo/commit/189a7c96e6e26825dc05c0c6466576fe63aa091e), where the frontend scrolling was moved back out of the '#wrapwrap', an issue sometimes occurs with…
Since [commit [1]](https://github.com/odoo/odoo/commit/189a7c96e6e26825dc05c0c6466576fe63aa091e), where the frontend scrolling was moved back out of the '#wrapwrap', an issue sometimes occurs with the standard effect when scrolling on mobile page. Steps to reproduce: - Go to a website with "e-commerce" installed. - Use the devtools to display the website on a mobile device (note that the bug may only occur on certain mobile devices, so it might be necessary to test several to reproduce it). - Add a product to the cart and go to the "/shop/checkout" page. - Try scrolling down. - Bug: scrolling is blocked. The bug happens because, when the page starts scrolling with the "standard" header, there’s a short moment when the header has a "translate: transform" applied but is not yet "affixed." This creates a new coordinate system for the header and affects its child elements, like the "off-canvas mobile" navbar. As a result, the "off-canvas mobile" navbar temporarily changes the page size, which causes scrolling issues, especially on mobile devices. To fix this, we add "display: none" to the "off-canvas mobile" navbar during this short moment so it no longer affects the page size. [opw-4303667](https://www.odoo.com/web#id=4303667&cids=1&menu_id=4720&action=333&active_id=1695&model=project.task&view_type=form) [opw-4305493](https://www.odoo.com/web#id=4305493&cids=1&menu_id=4720&action=333&active_id=1695&model=project.task&view_type=form)
Primary-colored text now automatically uses a more readable shade when themes make the original color too light or low contrast. This keeps website, shop, and portal pages easier to read and more visually consistent, especially with pastel color palettes.
Original PR description
This PR normalizes rendering to improve readability for text elements using the `text-primary` class. While links benefit from a contrast-check feature [1], elements using `text-primary` rely on…
This PR normalizes rendering to improve readability for text elements using the `text-primary` class. While links benefit from a contrast-check feature [1], elements using `text-primary` rely on `$primary` (color-1) directly, resulting in color inconsistencies between links and text, as well as readability issues. The addition of "pastel palettes" [2] made this issue even more pronounced. This PR: - Adds `text-primary-emphasis` class to `text-primary` elements, taking priority. - Introduces a contrast-check for `text-emphasis-*` colors, ensuring links and "primary text" share the same color in cases of low contrast. If contrast is sufficient, the default Bootstrap computation is used. - Ensure that the `$component-active-color` contrast-check function has a color to compute against. [1] https://github.com/odoo/odoo/pull/58739 [2] https://github.com/odoo/odoo/pull/172463 task-4332082 | `18.0` reference palette | `18.0` pastel palette | this PR pastel palette | . | |--------|--------|--------|--------| |  |  |  | . | |  |  |  | . | |  |  |  | . | |  |  |  | . | |  |  |  | . | |  |  |  | . | task-4332082 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update refreshes the spreadsheet engine and fixes several issues affecting action buttons, pivot table cell selection, sheet naming, pivot formulas, and chart predictions. Users should see more reliable spreadsheet behavior with fewer errors in reporting and analysis workflows.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/a2652c5a2 [REL] 18.0.7 Task: 0 https://github.com/odoo/o-spreadsheet/commit/68e04cdb6 [FIX] action button: use…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/a2652c5a2 [REL] 18.0.7 Task: 0 https://github.com/odoo/o-spreadsheet/commit/68e04cdb6 [FIX] action button: use nextProps instead of this.props Task: 0 https://github.com/odoo/o-spreadsheet/commit/88aa2a7e6 [REV] pivot: select pivot cells in composer Task: 4189098 https://github.com/odoo/o-spreadsheet/commit/e84a864f8 [FIX] helpers: Add generic helper to sanitize sheet names Task: 4347719 https://github.com/odoo/o-spreadsheet/commit/de260ca22 [FIX] pivot: handle boolean-like function arguments in `getPivotCellFromPosition` Task: 4207502 https://github.com/odoo/o-spreadsheet/commit/02b6618d8 [FIX] charts: non-invertible matrix returns NaN as predicted data Task: 4328743 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
This fixes an issue where exporting customizations from Studio could fail when duplicate internal records existed for the same customization. The export wizard now filters its default data correctly and avoids preselecting unsuitable technical items, making Studio exports more reliable.
Original PR description
Since [1], the export wizard default export data domain has changed but it was not at all in the scope of the faulty commit. This leads to a validation error when a new wizard is created if there is multiple 'ir.model.data' records created in the context of Studio and pointing to the same records. This is often the case for instance for 'ir.model.inherit' records. This commit reintroduces the missing domain part, while adding a test. [1]: https://github.com/odoo/enterprise/commit/99f3591316891e1c2373ed0b3b7e786c0a6b8457
Creating a vendor bill from merged finance documents no longer fails due to overlapping document updates. The Documents app now waits for the bill creation action to finish and safely handles cases where no document is selected, preventing user-facing errors during PDF merge and follow-up actions.
Original PR description
[FIX] documents: fix error when creating vendor bill from split tool How to reproduce: - Install documents_account - In Document App, folder “Finance”, select 2 pdf - Click on Action -> Merge PDFs -…
[FIX] documents: fix error when creating vendor bill from split tool How to reproduce: - Install documents_account - In Document App, folder “Finance”, select 2 pdf - Click on Action -> Merge PDFs - Click on “Create Vendor Bill” You get an error “psycopg2.errors.SerializationFailure: could not serialize access due to concurrent update” The error was caused by the update of the pdf preview during the execution of the action “Create Vendor Bill” (which both update the document). We solve the problem by waiting the execution of the action before executing the rest (especially the update of the preview). [FIX] documents: fix traceback after some action How to reproduce: - Install documents_account - In Document App, folder “Finance”, select 2 pdf - Click on Action -> Merge PDFs - Remove the scissors to merge the 2 documents - Click on “Create Vendor Bill” You get the error: Cannot read properties of null (reading "querySelectorAll"). This is the most reliable way to reproduce the problem but that problem occurs also in other circumstances, for example sometimes when moving to trash documents after some other actions. We solve the problem by returning an empty selection when there are no element. Task-4381458
This update fixes several Planning issues for employees with flexible or fully flexible working calendars. It improves Gantt view accuracy and appearance, corrects demo employee cost data, and ensures recurring shifts are assigned as expected even when overlaps occur.
Original PR description
Fixed a series of issues related to flexible and fully flexible resource introduced in task 3762895. In this PR, the following issues are fixed in the planning app: - In dark mode, the progress bar…
Fixed a series of issues related to flexible and fully flexible resource introduced in task 3762895. In this PR, the following issues are fixed in the planning app:
- In dark mode, the progress bar of resources working fully flexible hours had white background instead of transparent. Step to reproduce:
1. Open the gantt view, create a resource with fully flexible hours and assign it to a task.
2. The progress bar should not have a white background on dark mode.
- Fully flexible employee Suman Oza had no hourly cost set in demo data. Step to reproduce:
1. Go to the employees view and search for Suman Oza.
2. The hourly cost should be no longer be set to 0.
- Flexible employee should have the period outside of their contract grayed in the Gantt view Step to reproduce:
1. Create a resource with flexible hours.
2. Set a contract with a start and end date.
3. Open the gantt view in planning, and search for the resource.
4. The period outside of the contract should be grayed.
- In gantt view sparse mode view, the color of the progress bar (the thin line above each employee and each day) of resources working fully flexible hours should be always in purple color. Step to reproduce:
1. Create a resource with fully flexible hours.
2. Create some shifts for the resource.
3. Open the gantt view in sparse mode.
4. The progress bar should be in purple color.
- Recurring shifts for fully flexible employees are now assigned even if they generate conflicts with existing shifts. (test was added to ensure this behavior) Step to reproduce:
1. Create an employee working fully flexible hours.
2. Plan some shifts for the employee.
3. Create a recurring shift for the employee which ovelaps with the existing shifts.
4. The recurring shifts should be assigned to the employee even if they generate conflicts with existing shifts.
task-id: 41893863 changes
Resolved issues and error corrections
This update resolves an issue where the resource name wasn't correctly updating in appointment scheduling views. The fix ensures that the selected resource is accurately displayed in the detail column, regardless of appointment type (user-based or resource-based). This improves the user experience when scheduling appointments.
Original PR description
Versions -------- - 17.0+ Steps ----- 1. Create an appointment type with availability base on resources; 2. have multiple resources to select from; 3. copy share URL; 4. open URL; 5. select a different resource. Issue ----- The resource name in the right column doesn't update to the selected resource. Cause ----- There's no logic in place to update it after selecting a different resource. Solution -------- For user-based appointments, this part isn't shown as long as there's multiple options available. Expand this logic to also work for resource-based appointments. Also modify it to now show details on date selection step unless there's only one option to select from (instead of unless pictures should be shown). With `website_appointment`, this is also the case when a separate selection screen was shown beforehand. opw-4355438
This update resolves an issue where vendor bills weren't correctly associating with the correct partner (Azure Interior). The fix ensures the partner ID is populated when creating vendor bills from documents, preventing data discrepancies and improving financial reporting accuracy. This was triggered by a correction in how attachments are handled.
Original PR description
steps to reproduce: - Install documents_account - In Settings -> File centralization -> Activate "Accounting" - Then click on Journals below - Then add Jounal: Vendor Bill, Workspace: Finance - Then…
steps to reproduce: - Install documents_account - In Settings -> File centralization -> Activate "Accounting" - Then click on Journals below - Then add Jounal: Vendor Bill, Workspace: Finance - Then upload a file in the app Documents, in the workspace Finance - Select that file and update the partner to Azure Interior - Click on the action "Create Vendor Bill" The partner "Azure Interior" is not set on the created account move while it should. For fixing this adding ``partner_id`` of document if present. Now question may arise why account.move having null partner_id. because it being [set](https://github.com/odoo/enterprise/blob/64fc38a80520cfeeb81c0bb329c6b24c3e9454e1/documents_account/models/documents_workflow_rule.py#L77) after creating [attachment](https://github.com/odoo/enterprise/blob/64fc38a80520cfeeb81c0bb329c6b24c3e9454e1/documents_account/models/documents_workflow_rule.py#L76) and during create attachment ``document.partner_id`` is set to null and issue is raised. opw-4077356
This update resolves an issue where the 'Delivery Guide SII DTE 52' report for Chilean companies was missing withholding tax information. The fix ensures accurate reporting of both VAT and withholding taxes, aligning with Chilean tax regulations. This improves the reliability of financial reporting for deliveries.
Original PR description
Withholding tax information is missing when printing report 'Delivery Guide SII DTE 52 (CL)' from a delivery Steps to reproduce: - With a CL Company setup - Have a product with main 19% tax and a withholding tax - Create a SO with the product - Confirm - Open Delivery - Validate - Print menu > Delivery Guide SII DTE 52 (CL) Issue: Only VAT 19% tax is present in the report, withholding tax is missing (even if the total is correct) This occurs because the 'withholding' var is inside another dict Issue2: 'tax_name' is not present in the rendered data, so we need to add it Issue3: withholding amount will be shown without associated currency opw-4214377 Forward-Port-Of: odoo/enterprise#73926