Tuesday, January 6, 2026
44 changes · 19.0
Enhancements to existing features
This PR updates the Odoo accounting module to allow for the translation of the 'Pay Now' label, improving localization for users in different languages. This ensures consistent and accurate display of this key payment label across all Odoo environments.
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
This update streamlines the Fiskaly setup process for Odoo Enterprise users in Austria. The changes include automatic credential authentication attempts, a simplified user interface with clearer guidance, and automated configuration of Fiskaly settings. This improves usability and ensures correct Fiskaly integration.
Original PR description
Task: [#5354476](https://www.odoo.com/odoo/project/1737/tasks/5354476) --- The Fiskaly configuration for Austrian companies has been edited: - Generating new credentials will try to authenticate right after generating them. - The *Test Fiskaly* buttons is now only visible in debug mode. - The *Generate Credentials* button won't be visible if the authentication has been successful except if the user is in debug mode. - The *Authenticate Keys* button is only available when the authentication has failed. - The *Manage by Odoo* checkbox has been removed and we force its value to True when generating new credentials. - An alert is displayed to guide the user depending on the state of the Fiskaly configuration (not authenticated, must regenerate credentials, etc).
This update enhances the organization of our internal JavaScript code by making key utility functions and constants available for import across Odoo modules. This change improves code maintainability and allows for greater flexibility in how these tools are utilized within the Enterprise platform. It's a foundational improvement for future development.
Original PR description
This commit puts export in front of some of the blackbox js utils/services/constants to make them importable from other files in the future. Forward-Port-Of: odoo/enterprise#99445 Forward-Port-Of: odoo/enterprise#99391
Resolved issues and error corrections
This update resolves a warning related to employee compensation calculations within the US payroll module. The team has corrected a formula to accurately identify employees without worker compensation, ensuring payroll reports are reliable. This change was part of a larger refactoring effort and is a minor fix.
Original PR description
> note: to be fw'd till 19.0 (will be fixed in master by https://github.com/odoo/enterprise/pull/99256) description: following the refactor (https://github.com/odoo/enterprise/pull/83136), the warning (`hr_payroll_dashboard_warning_employee_wa_without_worker_compensation`) has been altered. fix: this commit adds back `not` to compute the `employees_without_worker_compensation` accurately. :) task-5407490 Forward-Port-Of: odoo/enterprise#101663
This update fixes an issue where users couldn't navigate up and down using the keyboard when inserting stars within the HTML editor. The fix ensures proper cursor placement, allowing for seamless navigation and a better user experience. This resolves a minor usability problem.
Original PR description
When put on a single line, the `o_stars` blocks are not reachable by up/down keyboard navigation because they lack `FEFF` characters to put the cursor. This commit fixes this be removing the outdated `200B` characters that were introduced in [1] and making `o_stars` surrounded by `FEFF`. Steps to reproduce: - Write two lines of text - Add a third line between the two by pressing enter at the end of the first one - Insert stars with `/stars` - Navigate with up/down arrow - Notice that the line with the stars is not skipped - Press Backspace before the stars and before the third line so that everything is on the same line - Press Enter before and after the stars to put then back in three lines - Navigate with up/down arrow => The line with the stars was skipped task-5392572
This update fixes a visual issue in Odoo's Chatter where attachments and emoji reactions appeared too close together, creating a cluttered and difficult-to-read message view. The change adds spacing to ensure a cleaner, more professional appearance for all messages, regardless of whether they contain attachments.
Original PR description
**Description of the issue/feature this PR addresses:** ---------------------------------------------- In version 19, when a message in the Chatter includes an attachment and an emoji reaction is…
**Description of the issue/feature this PR addresses:** ---------------------------------------------- In version 19, when a message in the Chatter includes an attachment and an emoji reaction is added, both elements appear visually too close to each other. This overlap creates a cluttered look and reduces readability in the message view. **Current behavior before PR:** ---------------------------------------------- - Emoji reactions and attachment previews are rendered too close together. - Negative or insufficient top margin on the reactions container causes overlap. - Visual inconsistency between text-only messages and messages with attachments. **Desired behavior after PR is merged:** ---------------------------------------------- - Proper spacing between attachments and emoji reactions in the Chatter. - Consistent, clean layout across all message types. - Improved readability without affecting compactness for text-only messages. Task-5259482 ---------------------------------------------- I confirm I have signed the CLA and read the PR guidelines at https://www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237943
This update fixes a technical issue that caused a traceback to appear after canceling an order with a default preset (like 'Takeout or Delivery') in the restaurant POS. The fix redirects the user to the correct screen and prevents a new order from being created, ensuring a smoother order cancellation process.
Original PR description
### step to reproduce: - Set default preset to "Takeout or Delivery" in restaurant config. - Open restaurant . - Open any table and add a product. - Cancel the order using the action button. ### issue: - A popup appears asking to select a partner/floating order name, followed by a traceback. ### cause: - Traceback occures as next screen is loaded after order deletion. ### fix: - Redirect to the default screen before deleting the order. - Ensure that no new order is created when the next screen is the floor screen. task: 5092951 Forward-Port-Of: odoo/odoo#237885 Forward-Port-Of: odoo/odoo#227925
This update fixes an issue where the website's highlight color didn't automatically update when the overall theme was changed. The fix ensures that text highlights now consistently reflect the selected theme colors, providing a more visually consistent user experience. This improves brand consistency and user satisfaction.
Original PR description
Steps to reproduce: 1. Go to the theme tab and change the colors of the main preset. 2. Select any text in the footer. 3. Expand the toolbar and click the highlight option. Issue: The highlight…
Steps to reproduce: 1. Go to the theme tab and change the colors of the main preset. 2. Select any text in the footer. 3. Expand the toolbar and click the highlight option. Issue: The highlight selector still uses the default purple color instead of adapting to the updated theme preset. This happens because the text highlight color uses "--o-color-1", which does not update when the theme colors are modified. Fix: Used "var(--hb-cp-o-color-1)" as the default text highlight color instead of "--o-color-1", ensuring the highlight automatically adapts to theme changes. Before This Fix: | highlight selector color before changing theme preset | highlight selector color after changing theme preset | |-----------------------------|---------------------------------| | <img width="450" height="404" alt="image" src="https://github.com/user-attachments/assets/c92eed7e-1856-4e08-879a-a74e2506ab9c" /> | <img width="399" height="389" alt="image" src="https://github.com/user-attachments/assets/9a938e80-9e01-49fd-b6a1-cf9baaa64358" /> | After This Fix: | highlight selector color before changing theme preset | highlight selector color after changing theme preset | |-----------------------------|---------------------------------| | <img width="394" height="413" alt="image" src="https://github.com/user-attachments/assets/674958bc-7df7-44fa-97c0-5ae78608dc6a" /> | <img width="408" height="428" alt="image" src="https://github.com/user-attachments/assets/1d48ca49-7d18-4681-8443-b9887eef0dbf" /> | task-5375414 Co-author: Alay Patel <alap@odoo.com> Forward-Port-Of: odoo/odoo#238471
This update fixes an issue where the UBL XML generated for invoices was incorrectly including the 'Invoice address' suffix in the partner name. The change ensures that the commercial partner's name is used, aligning with standard Odoo XML generation and improving the accuracy of invoices.
Original PR description
The dict-to-xml helpers were still using `partner.display_name` which includes the 'Invoice address' suffix. Changed to use `partner.commercial_partner_id.display_name` when partner name is not available, to match the fix in https://github.com/odoo/odoo/pull/232819 for the standard XML generation. task-4614564 Forward-Port-Of: odoo/odoo#241985 Forward-Port-Of: odoo/odoo#241250
This update clarifies the documentation for a feature within the Odoo account module. Previously, it wasn't clear that the 'force create' function didn't actually create new records but instead updated existing ones. This change ensures better understanding and reduces potential confusion among users.
Original PR description
I have adding a docs for force_create that I have added in a previous task as it was not clear for some colleagues that it do not create but still updates the available records 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 Forward-Port-Of: odoo/odoo#241995
This update fixes a reporting issue in the French P&L reports. The 'owner remuneration' account (644) was incorrectly categorized as 'tax and duties'. This change ensures accurate reporting of wages and salaries in accordance with French accounting standards.
Original PR description
Account '644 owner remuneration' was in the 'tax and duties' category in the french P&L but it belongs to the 'wages and salaries' category task-5446018 Forward-Port-Of: odoo/enterprise#103214 Forward-Port-Of: odoo/enterprise#103061
This update fixes a visual issue on the user profile page where course tags were being cut off at the bottom. The change adjusts the layout to ensure all tags are fully visible, maintaining a consistent and professional appearance. This improves the user experience by preventing content truncation.
Original PR description
In the website profile page, the course tags are slightly cut on the bottom. This commit adapts the block size to fit the entire tag. Note that the combo of fixed height / hidden overflow is actually intended to only show a single line of tags and not all of them, to avoid having a variable course card total height. Task-5457464 Forward-Port-Of: odoo/odoo#241897
This update resolves an issue where color fields within editable lists weren't saving changes when using the 'bottom' editing mode. Previously, edits to color fields were lost. Now, color field changes are reliably saved when using the standard 'bottom' editing experience, ensuring data accuracy and a consistent user experience.
Original PR description
This commit fixes the issue where editing a field with widget="color" does not save it when the list is in editable="bottom" mode. project.task~5262582 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 Forward-Port-Of: odoo/odoo#238644
This update clarifies delivery slip reports by explicitly labeling the delivery address as 'Delivery Address' and simplifying customer information labels. These changes reduce potential errors and improve the accuracy of delivery information, leading to smoother operations.
Original PR description
To resolve ambiguities and improve operational efficiency: 1. The delivery address is explicitly labeled 'Delivery Address'. Ensuring no doubt about the final destination. 2. The label for the customer's primary information has been updated from 'Customer Address' to simply Customer, which prevents operators from mistaking it for the delivery point. Backport of https://github.com/odoo/odoo/pull/220019 Task: 3379926 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 Forward-Port-Of: odoo/odoo#241988
This update resolves a bug where changing a blog post author's contact information would incorrectly update the associated avatar in the website builder. The fix ensures the avatar remains consistent and correctly displays, addressing a visual inconsistency within the blog post editor.
Original PR description
With the [website builder refactor], the avatar of the author of a blog post is updated when the author is changed. But with the [replication of fields] in the builder, if the avatar is present several times on the page with different options, the replication would overwrite some instances with the options of another. This commit avoids the avatar field from getting replicated (and avoids the weird removal of `o_dirty`) by updating the avatar of mutated fields in a `normalize_handlers`. Steps to reproduce: - Open website builder on a blog post - Enable the "Sidebar" - Enable the "Author" in the sidebar - Click on the name of the author in the page (any of the 2 instances) - Change the "Contact" associated with the author of the post - Bug: the avatar in the sidebar is now small and round like the other [website builder refactor]: 9fe45e2b7ddbbfd0445ffe25a859e67a316d02b2 [replication of fields]: 7d7d6df5aaff52f740a54fe5234f0f778e3d4905 Forward-Port-Of: odoo/odoo#234985
A recent update unintentionally removed the ability to sort sale order lines. This fix corrects a technical issue caused by a previous change that prevented sorting. Users can now properly sort their sale order lines, improving order management efficiency.
Original PR description
#### Versions: 19.0+ ### Issue: Sale order line rendered is not sortable anymore like it was in previous versions. #### Steps to reproduce: 1- Create a sale order. 2- Add multiple sale lines. 3- As you see sale lines are not sortable. ### Cause: This is done due to #219253, which has overridden `isSortable` to return `False` on `SectionAndNoteListRenderer`. `SectionAndNoteListRenderer` is a superclass of `SaleOrderLineListRenderer`, which causes it not to be sortable. opw-5407880
This update resolves an issue preventing users from editing the 'test_type_id' field within quality checks when adding steps in the Shop Floor module. This change ensures users can accurately configure quality checks, improving workflow efficiency and data accuracy. It addresses a previously reported restriction.
Original PR description
This commit fixes the problem where the `test_type_id` of the `quality_check` is readonly when adding a step in Shop Floor. Task-5404503
This update resolves a bug that prevented users from exporting data from the MRP MPS view. The issue stemmed from a recent change that incorrectly pulled fields from a related model. Now, exporting data from the MPS view functions correctly, ensuring accurate data export for forecasting.
Original PR description
Steps to reproduce: - Go to MPS - Select one or more records - Click on Action > Export - Search and expand "Forecasted quantity at date" - Select "Forecasted quantity at date/Minimum to Replenish" - Export Before: A traceback is raised with the following error: "ValueError: Invalid field 'min_to_replenish_qty' on 'mrp.product.forecast'" This is caused by the model being overwritten by "mrp.production.schedule". The regression was introduced by commit ac52882, which added a default model "mrp.production.schedule". After: The export works correctly with sub fields. https://github.com/odoo/enterprise/commit/ac52882891a9ede6a5b008ac39fc62b82b7bf813 opw-5406704 Forward-Port-Of: odoo/enterprise#103097
This update resolves a minor issue impacting the accuracy of account reports within the MRP module. The changes include re-enabling tests for related modules, ensuring the continued reliability of financial reporting and calculations. This improves the overall stability of the enterprise version.
This update resolves an issue where pressing 'shift+space' in the kanban view initially caused a system error. Now, users can reliably select kanban records using this keyboard shortcut, improving usability and workflow efficiency.
Original PR description
Before this commit: When navigating the kanban view using the keyboard, pressing `shift+space` for the first time to select a kanban record caused a traceback. After this commit: The traceback no longer occurs, and the kanban record is correctly selected. task-5410164 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves a critical issue in the l10n_gt_edi module by implementing a 'neutralization' process. This ensures that database copies created for support investigations won't unintentionally impact the live production database or customer data. It allows for safer troubleshooting and duplicate database analysis.
Original PR description
This commit adds the missing neutralization necessary for the l10n_gt_edi module The purpose of the standard neutralization framework is to allow us to create database copies that will not interact with external systems in ways that could impact the production database (or if it is not possible to prevent the interactions, make sure that they are benign or won't result in actual changes), or impact the customers of the operator of the production database. This is mainly useful to allow safe support investigation on database duplicates. Forward-Port-Of: odoo/enterprise#102695
This update resolves an issue where zooming out on the version timeline caused other versions to disappear. It also addressed the appearance of a vertical scrollbar when zooming in. The fix ensures all versions are visible and scrollable without a sidebar, providing a smoother user experience.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: . When you zoom-out below 100%, the other versions from the version bar disappear, leaving only the active one . Wen zoom-in, a side vertical scrollbar appear Desired behavior after PR is merged: . all versions on timeline appears normally without sides scrollbar task-5401380
This update fixes an issue where Odoo incorrectly processed partner names with only one word. Previously, single-word names resulted in an empty first name field. Now, single-word names are correctly assigned to the first name, ensuring accurate data entry and reporting for customer information.
Original PR description
Description of the issue/feature this PR addresses: The name splitting logic fails when the partner name contains only one word, resulting in an empty first name. Current behavior before PR: Splitting a single-word name returns an empty first name and assigns the word to the last name. Desired behavior after PR is merged: A single-word name is correctly assigned to the first name field, leaving the last name empty. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241926
This update fixes an issue where one-day time off requests were incorrectly displayed as multi-day events in the Calendar app. The fix ensures that single-day leaves are accurately represented, resolving a visual inconsistency for users in specific time zones like Los Angeles. This improves the accuracy of employee schedules.
Original PR description
**Issue:** Single-day time off requests appear as multi-day events in the Calendar app when using certain tim> **Cause:** The `_compute_date_from_to()` method converts user-specified dates to UTC.…
**Issue:** Single-day time off requests appear as multi-day events in the Calendar app when using certain tim> **Cause:** The `_compute_date_from_to()` method converts user-specified dates to UTC. https://github.com/odoo/odoo/blob/028e7228cb830e47a9726bef4c82793ba4590cd5/addons/hr_holidays/models/hr_leave.py#L316-L317 The `_prepare_holidays_meeting_values()` method then uses these UTC datetime values (`holiday.date_from`, `holiday.date_to`) In Los Angeles timezone, and for a one day leave on september 17 2025 this leads to: - holiday.date_from: September 17, 2025 at 03:00 UTC - holiday.date_to: September 18, 2025 at 12:00 UTC causing a single-day leave to be displayed as a two-day event. **After fix:** - start_value: September 17, 2025 at 12:00 - stop_value: September 17, 2025 at 11:59 **Steps to Reproduce:** 1. Set the user timezone to "America/Los_Angeles" 2. Set the browser timezone to the same timezone 3. Create a one-day time off request (e.g., September 17, 2025) 4. Open the Calendar app: the event spans across two days opw-4744817 Forward-Port-Of: odoo/odoo#231662 Forward-Port-Of: odoo/odoo#224298
This update resolves errors identified during testing of the l10n_hr_edi module's flow processes, ensuring consistent functionality with the Odoo 19.0 release. It also corrects a specific SQL query issue, improving the stability and reliability of the HR EDI integration.
Original PR description
- Fixing runbot errors raised by the flow tests, consistent with 19.0+ version - Fixing neutralize.sql runbot-237635 runbot-237637 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#242007
This update fixes a potential issue where printing errors on Windows could cause unexpected problems. By adding a safety net to catch these errors, the system is now more stable and reliable when printing, particularly on Windows devices. This ensures a smoother user experience for printing operations.
Original PR description
This commit adds the try/except block around print_raw method of the virtual iot box to allow catching exceptions when printing on Windows Forward-Port-Of: odoo/odoo#238774 Forward-Port-Of: odoo/odoo#238633
This update corrects inaccuracies in the VAT report formulas used by the l10n_lt (Lithuania) localization module. The changes ensure more accurate VAT calculations and reporting, improving the reliability of financial data within Odoo.
Original PR description
With this PR, some wrong formulas in VAT report will be updated. task-5447677
This update resolves an issue where the 'Add to Cart' tour wasn't functioning correctly with demo data, specifically when searching for products. The fix ensures the tour waits for the dropdown to populate before initiating a search, preventing timeouts and incorrect popover behavior. This improves the user experience during testing and ensures the tour works reliably.
Original PR description
__Behavior before commit:__ When `searchNeeded` is `true`, `changeOptionInPopover` adds a step to search the option in the dropdown. This step is not working if the dropdown is not ready. This causes `add_to_cart_snippet_tour` to timeout when the tests are run with demo data because the products created in the python side of the test are not showing directly. If the demo data are not included and `searchNeeded` is `true`, it is useless to search. Furthermore in this case, it might click on the item before the search request is finished. The popover will then be kept open when the request end (without result because the search will exclude the already selected item). __Fix:__ - Wait for the dropdown to be ready by waiting for the items to appear in the dropwdown. Then only make the search if the item isn't already in the list. - Remove the now useless `searchNeeded` parameter runbot-234680
This update corrects a visual issue where resizing images within the HTML editor caused a distracting flicker. The problem stemmed from inconsistent mouse coordinate tracking between the iframe and the main window. This fix ensures smoother image resizing and a better user experience.
Original PR description
Problem: After 3b28df9eb22a3eb9af129a7f756986f54b983fc3, resizing an image during transform causes a visible flicker. Cause: The same mousemove handler is attached to listeners on both the iframe and the window. When the mouse moves from the iframe to the window, `ev.pageX` and `ev.pageY` differ between the two contexts, leading to incorrect position calculations and visual flickering. Solution: When `mousemove` is triggered, correctly recompute `pageX` and `pageY` when transitioning between iframe and window contexts, ensuring consistent coordinates during resize. Steps to reproduce: - Open website/jobs. - Try to transform and resize the image on the right. - Observe a flicker while resizing. opw-5368040 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update ensures that the bill date is always required when creating invoices. Previously, users could skip this field, leading to potential data inconsistencies. Now, a clear notification will appear if the bill date isn't provided, helping ensure accurate record-keeping and reporting.
Original PR description
Make bill date required on form view to display a 'Missing required field' notification when not set. task-5361931 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update addresses a critical issue in the l10n_tw_edi_ecpay tax module, adding a necessary 'neutralization' process. This ensures that support teams can safely examine database copies without risking disruptions to the live Odoo system or impacting customer data. It's a standard security practice to isolate testing environments.
Original PR description
This commit adds the missing neutralization necessary for the l10n_tw_edi_ecpay module introduced in [1] The purpose of the standard neutralization framework is to allow us to create database copies that will not interact with external systems in ways that could impact the production database (or if it is not possible to prevent the interactions, make sure that they are benign or won't result in actual changes), or impact the customers of the operator of the production database. This is mainly useful to allow safe support investigation on database duplicates. [1] https://github.com/odoo/odoo/pull/223132 Forward-Port-Of: odoo/odoo#240975
This update fixes an issue where attachments added to chatter activities weren't correctly displayed as previews. The team has reverted a planned change to maintain the familiar attachment overview functionality in the chatter, ensuring users can easily see attached files. This improves usability and prevents a disruption to existing workflows.
Original PR description
--- ## Short functional explanation of the error When in the chatter, we can create an activity. If we add an attachment to the notes of this activity and save it, the overview of the attachment won't show in the chatter. ## Reproduction Steps 1. Open an app that gives you access to the chatter, for instance, an invoice in Accounting. 2. Click on Activity. Click on Log a Note... and on the button Upload a file. Upload an attachment and save. ### Expected behavior The overview of the file (blue box with the name of the attachment) should appear. ### Unexpected behavior The overview doesn't appear ## Origin of the issue Since 19.0, we want to replace static rendering with embedded components everywhere for rendering attachments, but this creates issues for the rendering of the overview in the chatter. Therefore, after internal discussion, we agreed to keep rendering overviews statically. opw-5356016
This update fixes a crash that occurred when opening the part-time salary simulation form with a specific URL parameter. The issue stemmed from an incorrect JavaScript element creation, leading to a faulty working schedule dropdown. This change ensures the simulation functions correctly for part-time employees, preventing disruptions to payroll processing.
Original PR description
Version: - 19.0 Steps to reproduce: - Open the salary package simulation form. - Add &part=True to the URL. Issue: - Opening the salary package simulation with `&part=True` in the URL caused a JavaScript error. - The working schedule dropdown was created incorrectly, leading to a crash. Fix: - Use ownerDocument.createElement to correctly create the wrapper element in JS. - Ensure new_calendar is always defined before accessing its id when preparing payslip values. task-5265734
This update ensures that IoT Box records are correctly updated during Odoo upgrades. Specifically, the system now requires the IoT Box to provide its MAC address alongside its serial number, allowing for a seamless transition from MAC-based to serial number-based identification. This resolves an issue where older IoT Box records wouldn't update properly after upgrading to newer Odoo versions.
Original PR description
When upgrading from <v19.0 to v19.0+, the IoT Box needs to provide its mac address along with its serial number in order for the IoT Box record in the db updates the identifier from mac to serial no. see odoo/enterprise#103331
This update ensures new Odoo versions correctly include VoIP admin and officer groups for improved functionality. The change prevents inconsistencies and simplifies future upgrades by enforcing a standard approach to VoIP rights management, reducing potential customization issues.
Original PR description
Commit [1] introduced new groups for VoIP: admin and officer. Before that, the related rights came with the base admin group of Odoo. With that in mind, it made the new groups implied by the base…
Commit [1] introduced new groups for VoIP: admin and officer. Before that, the related rights came with the base admin group of Odoo. With that in mind, it made the new groups implied by the base admin group, but put them in a noupdate area of the security XML file, meaning only new databases would get the new groups assigned to the admin group. There were two possibles solutions: - An upgrade script to add the new groups to admin users (and/or the fact it is implied by the admin group). - Move the group definitions to a non-noupdate area, which re-forces the fact the VoIP groups are implied by the admin group at each upgrade, to any Odoo version. There is no guideline about this in Odoo and it is left to a per-app per-group choice. After consultation, the second solution was chosen: we prefer to enforce the fact that each new VoIP codebase, each version, relies on the fact admins are supposed to have those VoIP rights; forcing any customization of that fact to re-check it is working at each Odoo upgrade (and/or make a proper customization with custom apps instead of user manipulation). [1]: https://github.com/odoo/enterprise/commit/88b8de95e1a28a8037a386fc8fb6a044a98217e7 task-5440305
This update fixes an issue where links to headings within locked articles didn't scroll to the correct location after loading. The fix ensures that all article links, regardless of whether the article is locked, function correctly and provide a seamless user experience for navigating to headings.
Original PR description
Problem: When navigating to a link that points to a heading in a locked article, the page does not scroll to the target heading after load. Cause: When an article is locked, `HtmlViewer` is used instead of the editor. In this mode, `HeadingLinkPlugin` is not loaded, even though it is the component responsible for scrolling to elements with `data-heading-link-id`. Solution: Add the same heading link scrolling logic to `HtmlViewer` so that links to headings work consistently, even when the article is locked. Steps to reproduce: - Go to Knowledge. - Copy a heading link. - Lock the article. - Paste the URL in the browser. - When the page loads, it does not scroll to the heading. opw-5418474 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#240174
This update enhances the reliability of video calls within Odoo by extending the time allowed for a successful ping check. Previously, a missed ping would immediately drop the call, but now it allows for a 1 minute and 15 second window, preventing disconnections when the Odoo server experiences temporary slowdowns. This ensures smoother and more consistent video communication.
Original PR description
Before this commit, the ping to keep rtc sessions alive was done every 30 seconds and had a 1 minute timeframe to successfully ping, which meant that missing a single ping would drop the rtc session. This commit increases the timeframe to 1 minutes and 15 seconds so that one ping can be missed. This can help preventing disconnections when the Odoo server is slow, as calls can work fine without a stable connection to the odoo server (since P2P and SFU connections are independent from Odoo once the connections are initialized). task-5177246 Forward-Port-Of: odoo/odoo#234553
This update fixes an issue where IoT Box identification wasn't correctly updated after a database upgrade. Now, IoT Boxes are identified by either their MAC address or serial number, ensuring accurate tracking and management. This change enhances the reliability of our IoT integration.
Original PR description
After upgrading a db, the IoT Box updates. Before v19.0, the IoT identifier was its mac address, after it's the serial number. We now search boxes idenfied by both mac address or serial number and update accordingly. see odoo/odoo#242212
This update fixes an issue where the order of products was incorrect on delivery slips. The change ensures that move lines are printed in the correct sequence, aligning with the intended delivery order. This improves the accuracy and reliability of delivery slip reports.
Original PR description
**Steps to reproduce:** - Add 2 products in a delivery - Add the second's product move lines before the first one. - Validate and print delivery slip **Issue:** We iterate the `move_line_ids` directly which means if we have a new move line for a move with a lower id, it will push the product to the end of the delivery slip. **Example:** If we have `stock.move(1,)` with `stock.move_line(52,)` and `stock.move(2,)` with `stock.move_line(51,)`. `stock.move_line(51,)` will be printed first, which introduces a change in the order of the delivery slip. **Fix:** Iterate on `move_ids` and access `move_line_ids` through it, to print `move_lines_ids` in the same order of the `move_id`. Task: 4570203 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#213400
This update fixes an issue where links to headings within locked Knowledge articles didn't scroll to the correct section after loading. By adding scrolling functionality to the `HtmlViewer` component, users can now seamlessly navigate to headings regardless of whether the article is locked, improving the overall user experience.
Original PR description
Problem: When navigating to a link that points to a heading in a locked article, the page does not scroll to the target heading after load. Cause: When an article is locked, `HtmlViewer` is used instead of the editor. In this mode, `HeadingLinkPlugin` is not loaded, even though it is the component responsible for scrolling to elements with `data-heading-link-id`. Solution: Add the same heading link scrolling logic to `HtmlViewer` so that links to headings work consistently, even when the article is locked. Steps to reproduce: - Go to Knowledge. - Copy a heading link. - Lock the article. - Paste the URL in the browser. - When the page loads, it does not scroll to the heading. opw-5418474 Forward-Port-Of: odoo/enterprise#102431
This update corrects a technical issue where sales orders were being sent to the blackbox service multiple times. The fix ensures that sales data is only transmitted once, improving data accuracy and system efficiency. This is a routine maintenance update.
Original PR description
This fix ensure we don't send twice the same NS (normal sale) to the blackbox. We only push the order to the blackbox if it does not contain a signature yet. Forward-Port-Of: odoo/enterprise#102434
This update fixes a limitation in the HTML editor where code blocks with syntax highlighting wouldn't allow users to convert them back to regular paragraphs. A new button has been added to easily switch between syntax highlighting and standard paragraph formatting, improving the user experience for creating and editing code within notes.
Original PR description
When syntax highlighting is activated on code blocks, neither the powerbox nor the toolbar is available inside the block, making it impossible to convert it back into a paragraph. This commit adds a button to convert such code blocks back into paragraphs. Steps to reproduce: - Go to a "To Do" note - Insert a code block with `/code` => There was no way to convert it back to a paragraph task-5241467
A validation error when customizing the Sales Order Confirmation email template was resolved. This issue occurred if the 'website_sale' module wasn't installed. The fix ensures the template handles missing website information safely, preventing crashes and allowing users to customize emails without needing to install additional modules.
Original PR description
**Issue** When customizing the *Sales: Order Confirmation* mail template, a validation error appeared if the `website_sale` module was not installed. **Steps to Reproduce** 1. Go to *Settings → Technical → Email Templates* 2. Open *Sales: Order Confirmation* 3. Make inline changes and save each time → A validation error is raised. **Root Cause** The template referenced `website_id` on `sale.order`, which only exists when the `website_sale` module is installed. QWeb pre-evaluates expressions inside `<t t-if="...">` blocks, so even with `hasattr(object, 'website_id')`, the engine still tried to access `object.website_id`, causing the crash. **Fix** Guard all `website_id` usages with explicit checks: `hasattr(object, 'website_id') and object.website_id`, ensuring safe evaluation when the field is missing. opw-5180725 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update ensures that when a delivery is linked to a sale order in Odoo, the sale order's references are automatically connected to the delivery moves. This improves data accuracy and simplifies tracking of sales orders and their associated shipments. It resolves an issue where these links weren't consistently maintained.
Original PR description
Adds a test to ensure that the reference of a sale order is linked to the associated delivery moves when the delivery is linked to the so. opw-5386424 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#240102 Forward-Port-Of: odoo/odoo#239697