Thursday, December 18, 2025
12 changes · 18.0
Resolved issues and error corrections
This update fixes inaccuracies in the Danish description for the Odoo module. The change ensures the module's details are accurate and clear for users in Denmark, improving the overall user experience. This is a minor correction to maintain accurate module information.
Original PR description
There were some mistakes in the Danish part of the module description. This commit corrects those mistakes. Forward-Port-Of: odoo/odoo#239180
This update fixes an issue where items within Kanban card dropdown menus weren't easily navigable or highlighted on hover. By adding a specific styling class, the dropdown items are now fully functional and provide a better user experience for selecting options within Kanban views.
Original PR description
Issue:
Dropdown item-ish (such as `<a class="dropdown-item">` and ViewButton) inside kanban cards dropdown do not have the proper hover styling and are not navigable.
Steps to reproduce:
- Go to project -> open any card dropdown menu ("...") -> Items are not navigable
- Go to CRM -> open any card dropdown menu ("...") -> Items are not highlighted on hover
Fix:
This commit adds the "o-navigable" class to dropdown items and view buttons
which are inside a kanban card's dropdown menu, this makes them navigable
and adds proper hover and focus styling.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update fixes a visual bug where the calendar wasn't displaying correctly on the My Dashboard. The issue stemmed from a missing CSS element, now resolved to ensure the calendar appears as expected when added to the dashboard. This improves the user experience for managing calendar events.
Original PR description
--- ## Short functional explanation of the error When adding a calendar to a personal dashboard, only the header shows. The calendar itself doesn't show. ## Reproduction Steps 1. Go to calendar and click on the cog next to it. 2. Click on Dashboard > add. 3. Go to the Dashboard app > My Dashboard. ### Expected behavior The calendar should show under the header. ### Unexpected behavior Only the header shows. ## Origin of the issue The calendar wrapper in the CSS style wasn't specified. --- opw-5242329 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a bug where forum post images set to specific sizes (50% or 25%) weren't being saved correctly. The issue stemmed from how Odoo handled inline styles, and the fix disables reliance on these styles for image sizing within forum posts. This ensures images are consistently displayed as intended.
Original PR description
Problem: When creating a new forum post with an image set to "50%" or "25%" size, the post is saved with the original image size instead of the selected one. Cause: The `Post.content` field has `strip_style=True`, which removes any inline `style` attributes before saving. Since image size ratios were applied using `style="width: 50%"`, the width information was lost. Solution: Disable image size options that depend on inline `style` attributes, as they cannot be preserved when saving forum posts. Steps to reproduce: 1. Go to Forum. 2. Create a new post. 3. Add an image and set its size to 50% or 25%. 4. Save the post — the image appears with its original size. opw-5173917 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#234354
This update resolves an issue where custom snippet previews weren't appearing in the 'Insert a block' dialog when visibility options were saved. The fix ensures that snippet previews are consistently displayed, regardless of the configured visibility settings, improving the user experience.
Original PR description
When saving a snippet with visibility options (e.g. Hide on desktop), those options were also saved in the snippet template. As a result, the custom snippet preview was not displayed in the "Insert a block" dialog. This commit fixes the issue by explicitly forcing `display: block` on custom snippets in the dialog, ensuring they remain visible regardless of the saved visibility options.
This update removes a confusing warning message that appeared when users edited outdated website snippets. Now, users can directly access and modify these snippets without interruption. If an error occurs due to an outdated version, a clear alert message will be displayed to guide the user.
Original PR description
Currently when a user try to modify the options of an outdated snippet a warning block display on top of the options. The block present two options : 'try to update the snippet' or 'access options anyway'. This PR remove the warning on the options and suppose the 'access options anyway' is the default choice. If an error occur, the snippet version is verified and an alert message is display if the snippet is outdated. task-4297808
This update streamlines the planning process by automatically notifying users when employee work emails are missing. Instead of being blocked by a manual wizard, users receive a list of affected employees, allowing them to quickly resolve the issue by contacting HR or the employees themselves. This reduces delays and improves overall planning efficiency.
Original PR description
Before this commit, when the planning manager wants to send the planning and for some employees the work email is missing, the user is blocked on the wizard to fill the work email on those employees if he does not edit access to employee model. This commit makes sure the wizard to fill in the missing work email is not displayed if the user cannot edit the information of the employees. It also displays a notification listing the employees for which the work email is missing. By doing that, the user can easily remove those employees to continue his flow or ask to HR user or the employees concerned to complete the missing information. task-5090163
This update resolves a bug where the HTML editor incorrectly flagged parsing errors when QWeb nodes were hidden using `display: none`. The fix ensures consistent block detection regardless of an element's visibility, preventing unexpected errors and improving the editor's reliability.
Original PR description
Problem: When nodes have `display: none` (for example a QWeb `t-else` node with a false condition), `isBlock` incorrectly fails when checking them. Solution: If a node has `display: none`, fall back to checking its `tagName` against `blockTagNames`. This ensures consistent behavior regardless of the node visibility. Steps to reproduce: - Open “Appointment: Attendee Invitation”. - Add a list item to the list in the content. - Save. - A QWeb parsing error occurs. opw-5268806 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update corrects a rounding discrepancy in order totals when using the 'Round Globally' setting. Previously, the order subtotal was slightly off due to internal rounding processes, resulting in a small difference. This fix ensures accurate order subtotal calculations for all users.
Original PR description
Steps to reproduce: - Enable Rounding Method 'Round Globally' - Create a Sales Order - Add a product with price 69.99 @ 20% tax included in price - Confirm order Issue: While on the order line a price subtotal of 58.33 is shown, the order subtotal will display 58.32 This occurs because, in global rounding we set the raw total on the line, but the total will still be rounded and eventually error corrected, which may introduce a 1 cent difference when dealing with amounts near the rounding threshold. opw-5106971
This update prevents guest users from seeing the unpin button in the PinnedMessagesPanel, resolving a confusing user experience. Previously, guests could interact with a button that didn't work, leading to frustration. Now, the UI accurately reflects guest user permissions, providing a smoother and more reliable experience.
Original PR description
**Description of the issue/feature this PR addresses:** ---------------------------------------------- Currently, guest users in PinnedMessagesPanel can see the unpin button on pinned messages, but…
**Description of the issue/feature this PR addresses:** ---------------------------------------------- Currently, guest users in PinnedMessagesPanel can see the unpin button on pinned messages, but the server correctly rejects their unpin requests. This creates confusion and a poor user experience where external users see functionality that doesn't work for them. **Current behavior before PR:** ---------------------------------------------- - Guest users see the unpin button on pinned messages - Clicking the unpin button results in server rejection - UI shows functionality that guest users cannot actually use **Desired behavior after PR is merged:** ---------------------------------------------- - Guest users cannot see the unpin button on pinned messages - Internal users continue to have full pin/unpin functionality - UI accurately reflects user permissions and capabilities - Better user experience with appropriate access control Task-5033295 ---------------------------------------------- I confirm I have signed the CLA and read the PR guidelines at https://www.odoo.com/submit-pr
This update corrects a bug that occurred when multiple CAF ranges were active within a document type, causing database errors. The fix ensures the system selects the CAF with the lowest starting number, allowing for seamless handling of multiple CAF ranges and preventing errors when generating invoices. This improves the reliability of invoice processing.
Original PR description
In #92208 the CAF system was improved to find the next starting value in the right sequence if there are multiple in the system. If no CAFs are found, it will reset to the document types starting…
In #92208 the CAF system was improved to find the next starting value in the right sequence if there are multiple in the system. If no CAFs are found, it will reset to the document types starting number. This worked except in the case where there are multiple CAFs that are currently marked active in a document type. As it tries to access `caf.start_nb` it hits an ensure_one() which throws a traceback whenever you open most account.moves on the DB. Steps to reproduce: - Modify the CAF for Doc Type 33 (Electronic Invoices) to have a smaller range than 1 - 999,999 (1 - 5) - Create Two new CAF files also for Doc Type 33 that start after this value (6 - 10 and 11 - 15 for example). - Mark the original to be spent via cancelling it and try to open an invoice. It will find both of the new CAFs and try to get the start_nb of the recordset. In discussion with the PO, when we have multiple CAFs, we should pick by the lowest start number as it will allow for any gaps that might exist be filled. opw-5414350
Documentation and clarification updates
This pull request updates the list of authorized members for the Adhoc Corporate Legal Agreement (CLA). This ensures compliance with Odoo's legal requirements and allows for continued contributions from key stakeholders. The change is purely administrative and does not impact Odoo's functionality.
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