Tuesday, October 31, 2023
31 changes · 17.0
Resolved issues and error corrections
The stock picking screen no longer shows advanced forecast information by default. This keeps the view simpler for everyday warehouse users while still preserving the underlying functionality for cases where it is needed.
Original PR description
It adds advanced data on the picking view. It's not needed by default so we hide it 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
Opening a discussion channel that no longer exists now fails gracefully instead of causing an error. This helps users stay in the messaging area without disruption when links or channel data are outdated.
This fix restores proper formatting for error messages shown when sending electronic invoices. Users now see readable errors both in pop-up alerts and in the document chatter, reducing confusion during invoice processing.
Original PR description
…sage formatting With https://github.com/odoo/odoo/pull/139311, we broke the formatting of errors. We need to handle two formats: - one for the raised Error, likely formatted with \n - one for the chatter, likely formatted with html ### Before the fix  ### After the fix  
The Put In Pack button on stock picking forms is now shown on the right and uses a secondary visual style. This makes the action less visually dominant while keeping it available in a more appropriate place for warehouse users.
Original PR description
Main changes:
Change the style and postion of the Put In Pack Button on the stock.picking form view
Before:
Button is aligned on the left and has the style primary
After:
Button is aligned on the right and has the style secondary
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prManufacturing order lists now hide duration fields that are not needed by default, reducing visual clutter for users. The bill of materials overview also hides component availability unless opened from the manufacturing forecast, so teams see that detail only where it is most relevant.
Original PR description
This commit fixes: - hide `read_duration` and `expected_duration` in MO list view. - hide `component availability` byt default in bom overview, unless if coming from mrp forecast. task-3547356 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 fixes a small visual issue where disabled arrow-shaped buttons appeared darker when hovered. Users now see a more consistent disabled state, reducing visual confusion in the interface.
Original PR description
This commit fixes an issue where the interior of the arrow of the disabled `o_arrow_button` was darker on hover task-3573542 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Spreadsheet dashboard data is now validated as part of normal saving and loading rules, instead of only during post-install tests. This helps catch invalid uploaded spreadsheet files and missing module dependencies earlier, reducing the risk of broken dashboards reaching users.
Original PR description
Currently, spreadsheet json files are checked in a post-install test. It as several drawbacks: - it's not validating the data when a user upload a new version from the UI, just like when a user edits a view and the arch isn't valid. - more importantly, it doesn't properly check the module dependencies since the test runs after all modules are installed. We already made the mistake in the past to have a dashboard module with wrong dependencies. Task: 3577092 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixed an issue where images from the Images Wall could keep a hover overlay when opened in the slideshow. This keeps website image galleries looking clean and consistent for visitors after editing.
Original PR description
Steps to reproduce the bug: - In Website edit mode, drag and drop an `Images Wall` snippet onto the page. - Click on the first image of this snippet. - In the "Animation" options of the image, select "On Hover". - Save the page. - Click on the first image of the `Images Wall` snippet. - Bug: The image in the slideshow still has the overlay that appeared due to the hover effect. This commit fixes this issue by resetting images to their original source in the slideshow. task-3562305
This fix changes the stock transfer form so that generating serial numbers uses the reliable existing action instead of a faulty menu widget. This prevents duplicate transfer lines from being created when serial numbers already exist, reducing confusion and manual cleanup for inventory users.
Original PR description
Before this commit, In Transfer form, when you click the burger icon on a stock move and click Generate Serials, it will always generate new lines. Even if lines already exist, which is the case for Serial tracked products. This is a problem with the widget. The `action_assign_serial` button works well from the tree view and was added in the form instead of the widget. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures that when users edit a field in a draggable dialog and then click the dialog header, the field properly loses focus and applies its changes. It helps prevent lost input or incorrectly refreshed dialog content in cases such as domain selector debug fields.
Original PR description
If one edits an input value in a dialog and click on the dialog header, the blur event is prevented because the dialog is draggable and the pointer down native behaviour is prevented by the draggable hook builder. This can cause data losses or the dialog content to not be render correctly. For instance, this happens with the debug input of the domain selector dialog. We fix that by triggering the blur event programatically.
This update corrects how formatted content is combined in mass mailing lists, preserving the intended markup instead of accidentally stripping it. It helps ensure mailing-related content is rendered consistently without changing user workflows.
Original PR description
- using a string to join `Markup`s is useless, that just strips out the `Markup` - the entire toplevel `Markup` can be formatted in one shot
Payment summaries with long text now wrap properly and use adjusted sizing to avoid layout problems. This helps customers and portal users read payment information clearly without broken or overflowing page content.
Original PR description
Prior to this commit, the content of the payment summary did not include line breaks when the text was too long, creating layout issue. To fix that, this commit adapts the font size and forces the text to break. task-3576830 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds test coverage to ensure invalid pivot spreadsheet expressions are detected correctly. It helps reduce the risk of spreadsheet errors reaching users by guarding against a previously discussed edge case.
Original PR description
See https://github.com/odoo/odoo/pull/139871#discussion_r1377199846 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Barcode scans for valid command-style actions no longer show an unnecessary warning when another module handles the action. This avoids confusing users who successfully scan operational barcodes, such as stock menu shortcuts, but previously still saw an alert.
Original PR description
Before this commit, when a barcode starting with "O-CMD." is scanned, the barcode handler checks if it knows a command and either calls it if it exists, either displays a notification. The issue with the notification is that some modules can use barcodes starting with "O-CMD." (`stock_barcode` with "O-CMD.MAIN-MENU" for example), meaning scanning one of those will display a warning notification even if the action linked to the barcode is correctly called. Since there is no notification in case a scanned "O-BTN." does nothing, it seems not so crazy to make the CMD part to not display a notification in case there is no command for the scanned barcode.
Removing all social links from the website header no longer triggers an error. This keeps website editing stable when businesses choose not to display social media links.
Original PR description
Prior to this commit, when you removed all social links in the header, there was an error. This is because `website.header_social_links_no_color` targets selectors that don't exist in this situation. This commit adapts this template so that it works even if we remove all social links. task-3572219 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The checkout page now works even when no payment provider supports express checkout. This prevents customers from seeing a broken checkout form in stores where express checkout is unavailable or not configured.
Original PR description
The express checkout form template could not be rendered when no payment provider supporting express checkout was passed.
Website editors can now find language switcher options directly alongside the main navigation settings instead of having to click the language selector first. The update also removes a redundant footer language selector toggle and fixes a small footer title alignment issue, making multilingual website setup clearer and easier to manage.
Original PR description
This enhances the presentation of language switcher options. Previously,
these options were exclusively accessible upon clicking the language
selector within the navigation bar, resulting in a less user-friendly
experience. With this update, the language switcher options are now
incorporated alongside the navigation bar options, ensuring improved
accessibility.
Furthermore, this update eliminates the redundant feature of toggling
the footer language selector, previously positioned just below the
copyright switch.
Lastly, this update addresses a minor issue related to the alignment
of the selector title within the footer. This issue comes from
[this commit]
[this commit]: https://github.com/odoo/odoo/commit/838564e0acf2f1c2e1727473c8804c010aebae2d
task-3576937Products are now selected from stock according to the intended expiry-date and closest-location rules. This helps warehouses ship the right items first, reducing picking mistakes and avoiding errors when new stock records are created.
Original PR description
Fixes on removal strategies : - Pick the right quant on 'Closest location' strategy - Avoid a traceback when trying to create a new quant on products using the 'Closest location' strategy - Pick the right quant in 'First Expiry First Out' stragegy --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents errors when labels are automatically printed after stock or manufacturing operations. It also ensures users are sent back to the right barcode screen and that shop floor workflows receive the information they need to continue smoothly.
Original PR description
Fixes 3 things related to auto-printing: - lot/product label printing due to refactor changing the label wizard's variable values - correctly redirect to barcode view after auto-printing (i.e. missed applied a refactor of `on_close` => `onClose`) - ensure that the multi-print action always has a context due to it being needed sometimes (i.e. for setting Shop Floor/MES context) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update corrects how error messages are displayed in the Mexican EDI module after a recent change broke the formatting. The system now properly handles error messages in two different formats—one for system errors and one for user-facing notifications—ensuring users see clear, properly formatted error information when issues occur.
Original PR description
With https://github.com/odoo/odoo/pull/139311, we broke the formatting of errors. We need to handle two formats: - one for the raised Error, likely formatted with \n - one for the chatter, likely formatted with html
This update fixes responsive layout issues in the appointment booking details section. The changes ensure the details column uses available space properly, adds appropriate spacing above titles, and removes unwanted white space in portal layouts. These improvements enhance the visual presentation and user experience when viewing appointment details on different screen sizes.
Original PR description
This commit fixes these issues on `o_appointment_details_column` in responsive: - It was not taking all the available space it could take - There was a lack of spacing above the title - In portal layout (no website installed), the margin at the bottom of the column was creating an undesired white space task-3573765 Fixes issues introduced in this PR: https://github.com/odoo/enterprise/pull/41534
This update fixes multiple user experience issues in the HR Contract Salary module, making the salary offer and simulation features more intuitive and reliable. The improvements enhance how employees and HR teams interact with salary offers and payroll-related workflows.
Original PR description
task-3561708
This update fixes a bug where the return button was incorrectly appearing in the barcode scanning interface in two situations: when viewing picking details and when processing completed manufacturing orders. The button now only displays when it should be available, improving the user experience and reducing confusion.
Original PR description
Fixes 2 cases of the return button in barcode showing when it shouldn't. - when in the "info" view of the picking then the button was showing on top of the chatter when it shouldn't show in this view at all - in done manufacturing orders Note that a getter isn't added to the JS to handle whether or not the button should be shown because mrp_model extends the picking_model and batch pickings do not currently offer the "Return" option in the backend, so it didn't seem necessary to create a getter to only override it to be "False" for mrp_model only. Forward-Port-Of: odoo/enterprise#49824
This fix resolves an issue where product prices were not updating correctly when changing products in draft subscriptions. When users switched a recurring product to a different product with a different price, the new price wasn't being applied. This update ensures prices are properly recalculated whenever a product is changed in a subscription line.
Original PR description
Before this commit, when a draft subscription is created, the price unit does not update in the following flow: 1) create a draft subscription 2) add a recurring product 3) update that line's product to another (non recurring) with another list price. The price is not updated. taskid: 3551308 Forward-Port-Of: odoo/enterprise#48873
The barcode scanning application now applies a responsible filter to manufacturing orders, ensuring that users only see orders assigned to them or unassigned orders. This improves workflow efficiency by reducing clutter and helping warehouse staff focus on their assigned work.
Original PR description
In barcode app, we need to apply a responsible filter for manufacturing orders. Only MO that are assigned to the user or unassigned should be displayed. task-3547356
This fix resolves a technical error that occurred when customers attempted to close a survey in the subscription portal. The issue was caused by a missing template file. With this fix, customers can now successfully complete the survey closing process without encountering errors.
Original PR description
…mplate
This update fixes the bank account synchronization feature to provide real-time dashboard updates using automatic notifications instead of requiring manual page refreshes. When your bank transactions are being fetched, you'll now see the status change automatically as soon as the process completes, whether it succeeds or encounters an error.
Original PR description
The aim of this commit is fixing the asynchronous flow to get what we want since the beginning. A first version(https://github.com/odoo-dev/enterprise/commit/ed7d7486f30e076e6040a2d528a2c4926225bfa9)…
The aim of this commit is fixing the asynchronous flow to get what we want since the beginning. A first version(https://github.com/odoo-dev/enterprise/commit/ed7d7486f30e076e6040a2d528a2c4926225bfa9) of the flow only adds the call to the cron to make the transactions fetch asynchronous. This first version doesn't update the status on the user dashboard. It means that the spin turns until the user refresh his/her dashboard. Now the dashboard is automatically updated by websocket once we receive a response from Odoo Fin (if we receive an error or if we fetch or not some transactions). We're using the field connection_state_details on account.online.link (added by this commit: https://github.com/odoo-dev/enterprise/commit/4e88e4ff87338b36baf317194c1a52ba57da35cd) to save the last connection state (how many transactions we fetched or the error). The field is on the wrong model. We probably have to improve that in master. This commit also adds a new cron for connection with a fetching_status set to "waiting". This cron should only be used to fetch transactions asynchronously. When a user receives a new connection state, it's saved on the connection, once the user opens the bank statement lines view, this state is "consumed", meaning that we remove this state from the connection. This commit also changes how the function "_fetch_transactions" works. Now, we're trying to refresh all accounts, if we have at least one account ready to synchronize, we call the cron to fetch transactions asynchronously. task-3568712
The search view interface in Odoo Studio has been updated to match the latest design standards. This fix ensures that users working in Studio see a consistent and modern search experience that aligns with the rest of the application.
Original PR description
Before this commit, the search view in studio was still the old one After this commit, the search view in studio is like the new one
This fix eliminates false warning notifications that appeared when scanning certain barcodes used by the stock barcode system. Previously, valid barcode commands were triggering warning messages even though they were working correctly. The update ensures that recognized barcode commands no longer display unnecessary alerts to users.
Original PR description
Before this commit, when a barcode starting with "O-CMD." is scanned, the barcode handler checks if it knows a command and either calls it if it exists, either displays a notification if not. The issue with the notification is that some modules can use barcodes starting with "O-CMD." (`stock_barcode` with "O-CMD.MAIN-MENU" for example), meaning scanning one of those will display a warning notification even if the action linked to the barcode is correctly called. This commit adds an empty function for each "O-CMD." barcode used by `stock_barcode` to let `barcodeGenericHandlers` know those commands exist and should not trigger a warning.
Swiss HR users without payroll permissions can now access employee records properly. The fix restricts a sensitive employee children field to only payroll officers, preventing access errors for HR staff who lack payroll rights.
Original PR description
Before this commit, a user for a swiss company having hr rights but no payroll rights wouldn't be able to access employees because of the `l10n_ch_children` o2m field on `l10n.ch.hr.employee.children` which is supposed to be only accessed by payroll officers. This commit adds a group to the field so that only the users with the correct access rights can see it.
This update fixes a critical issue in Knowledge where multiple users editing articles simultaneously could lose changes without warning. The fix ensures that when one user saves changes while another user hasn't synced their edits, the system detects this conflict and prevents data loss. Additionally, it stops unnecessary data from accumulating in article files after each save, improving system performance.
Original PR description
Collaborative html_field should all use `handle_history_divergence` during `write`, to ensure that someone cannot save content if another user saved and they did not sync their change together (diverging steps would overwrite previously saved changes without informing the user). See [1]. Without this fix, the `data-last-history-steps` attribute of the first node in the article body would grow indefinitely after each write. After this fix, only the required id is kept. [1]: https://github.com/odoo/odoo/pull/112099 When writing on articles created from a template, encode the string in `unicode` as `handle_history_divergence` does a regex on the body value and it does not work with `bytes`. task-3572449 Forward-Port-Of: odoo/enterprise#49647