Monday, October 30, 2023
46 changes · 17.0
Enhancements to existing features
This update adds automated checks for the point-of-sale self-ordering experience, including product options, combo meals, kiosk use, and mobile use. These tests help catch issues earlier so restaurants and retailers can rely on a smoother customer ordering flow.
Original PR description
This commit adds tests for the pos_self_order module. The tests are written in javascript and use the odoo testing framework. The tests cover the following scenarios: - attribute selection - combo selection - kiosk mode - mobile mode
The Mail app now better handles channel members by ensuring a member is linked to either a partner or a guest, not both. It also makes it possible to create a channel member directly from its form view, improving maintenance and troubleshooting workflows.
Original PR description
Make partner_id and guest_id properly exclusive. Allow creating a channel member from its form view.
This update removes an outdated shared utility from backend bundles while keeping it available where it is still needed, such as website editing and frontend pages. It reduces unnecessary backend loading and helps keep the system easier to maintain without changing day-to-day user workflows.
Original PR description
This commit removes useless function from legacy/utils.js and removes it from several backend bundles. The file is moved in wysiwyg and frontend bundles as it is still used in these bundles. task id: 3439226 backport of https://github.com/odoo/odoo/pull/139823
Users can now interact with a popover opened from another popover without both closing unexpectedly. This makes layered menus and contextual options easier to use and reduces interruptions in the web interface.
Original PR description
Before this commit, cliking on a popover that was open inside another popover closed both of them. After this commit, the popovers are not closed. them will close only if we click out of them and the popovers they opened. backport of https://github.com/odoo/odoo/pull/138891
Live chat messages shown to visitors now avoid displaying two identical emoji buttons in the quick actions. This reduces confusion by keeping only the most relevant actions visible and moving reaction viewing into the expanded menu.
Original PR description
Before this commit, messages in livechat from visitor POV show 2 emoji icons in the quick actions. This is confusing and comes from 2 actions sharing this exact same icon: "Add a reaction" and "View reactions". This commit fixes the issue by reducing the number of quick message actions to 2 for the embed live chat. In other contexts there's "Reply-to" and "Mark as Favorite" in quick actions, so the "View reactions" item is always in expand menu. Note that this "dirty" fix come from 2 actions with same icon. Eventually we should fix that by clearly making icons unique. This solution is decent for the time being, giving us more time to make a dedicate icon for one of the emoji actions. task-3498446
The spreadsheet global filter button now uses an icon that more clearly represents filtering instead of searching. The same updated icon appears in shared dashboards, making the interface more consistent and easier to understand.
Original PR description
Change the global filter icon from the `fa-search` to something more filter-like. Also use the same icon in shared dashboard. Task: [3560817](https://www.odoo.com/web#id=3560817&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) 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
Several Odoo screens now have clearer internal page names that match what users see. This helps Knowledge and related tools identify fields more reliably, improving content discovery without changing day-to-day workflows.
Original PR description
This PR add/change the name of the page corresponding to the string attribute because To be able to detect a field, Knowledge needs to be able to read its page name. For more reference: Task-3501211 Task-3524474
Mail tracking can now hide specific automatic field-change details when a custom message already explains the update. This helps keep customer and internal notifications clearer and avoids duplicate or confusing information.
Original PR description
## Usecase It is sometimes desirable to completely remove a field from the automated tracking message when setting a custom message that already covers the change being made. ## Solution Add an argument when setting a custom message to (conditionally) filter out the tracking fields from the end message. task-2974500 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds page names to various form fields across multiple modules to help the Knowledge feature better identify and locate specific fields. This improvement enables the Knowledge system to read and recognize fields more accurately, enhancing the integration between Odoo forms and the Knowledge management system.
Original PR description
This PR adds/change the name of the page corresponding to the string attribute because To be able to detect a field, Knowledge needs to be able to read its page name. For more reference: Task-3501211 Task-3524474
The global filter icon in spreadsheets and shared dashboards has been updated to be more intuitive and visually distinct. Instead of using a generic search icon, the system now displays a dedicated filter icon that better communicates the filtering functionality to users, making it easier to identify and use filter features.
Original PR description
Change the global filter icon from the `fa-search` to something more filter-like. Also use the same icon in shared dashboard. Task: [3560817](https://www.odoo.com/web#id=3560817&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
This update removes an outdated function call from Web Studio that is no longer used in the community version of Odoo. The change aligns the enterprise version with the community codebase by eliminating this deprecated code, improving consistency across versions and reducing technical debt.
Original PR description
This commit removes call to cleanDomFromBootstrap as it is removed in community. task id: 3439226 backport of https://github.com/odoo/enterprise/pull/49604
Resolved issues and error corrections
Live chat visitors will no longer see two identical emoji buttons in message quick actions. The quick action menu is simplified so users have a clearer, less confusing chat experience while reaction viewing remains available in the expanded menu.
Original PR description
Before this commit, messages in livechat from visitor POV show 2 emoji icon in the quick actions. This is confusing and comes from 2 actions sharing this exact same icon: "Add a reaction" and "View reactions". This commit fixes the issue by reducing the number of quick message actions to 2 for the embed live chat. In other contexts there's "Reply-to" and "Mark as Favorite" in quick actions, so the "View reactions" item is always in expand menu. Note that this "dirty" fixes come from 2 actions with same icon. Eventually we should fix that by clearly making icons unique. This solution is decent for the time being, giving us more time to make a dedicate icon for one of the emoji actions. task-3498446
Features or functions removed from Odoo
This update removes several unused behind-the-scenes web interface functions across website, editor, forum, and eCommerce areas. It helps simplify maintenance without changing expected user behavior.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Code cleanup and technical improvements
The website editor has been updated to use the newer dialog system, making editing flows more consistent and easier to maintain. An obsolete company information editing option was also removed because contact pages are now directly editable.
Miscellaneous changes
Before this commit, the avatar next to composer in Discuss app had the top aligned with the top of the text input of composer. The avatar is smaller than the input, and the text in the input is centered, so the alignment looks off. This commit fixes the issue by offseting the avatar so that when the composer has only 1 line, the avatar is vertically centered with the input. Note that this alignment should be fixed, i.e. if the input field has more than 1 line, we want to keep the avatar in
Original PR description
Before this commit, the avatar next to composer in Discuss app had the top aligned with the top of the text input of composer. The avatar is smaller than the input, and the text in the input is centered, so the alignment looks off. This commit fixes the issue by offseting the avatar so that when the composer has only 1 line, the avatar is vertically centered with the input. Note that this alignment should be fixed, i.e. if the input field has more than 1 line, we want to keep the avatar in the same place, hence why the avatar is just statically offset. Also align composer avatar with message list, by removing the `align-justify: self` that was moving avatar slightly towards the discuss app sidebar. Before  After  Forward-Port-Of: odoo/odoo#140336
This fixes how SEPA payment methods are identified when using Stripe. It helps ensure customer bank debit payments are processed under the right payment method, reducing payment errors or confusion.
Corrects minor wording errors found during translation work in the fleet and payment areas. This improves clarity and consistency for users, especially in translated versions of Odoo.
Original PR description
Corrects typos found when translating Odoo 17. \* : hr_fleet, payment Enterprise: https://github.com/odoo/enterprise/pull/49831
The time off popup now displays its action buttons in proper alignment. This small visual fix makes the dialog easier to read and use for employees and managers.
Original PR description
Correct the view
This update keeps Polish localization records showing their names correctly after an underlying Odoo framework change deprecated the old naming method. It helps prevent automated test failures and avoids potential display issues for users working with Polish tax office data.
Original PR description
Since https://github.com/odoo/odoo/commit/3c62ca1eb96d571b2b686b5caee370324c589ab4, name_get is depreciated. We should replace it with a _compute_display_name. Linked to runbot error 25698 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 fixes small usability issues in inventory and subcontracting workflows. It clarifies the subcontracting correction action, removes an unnecessary stock location warning, and improves the message shown when putting items into a package.
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
Editing certain list entries inside a form no longer causes the form status buttons to briefly disappear while the system updates related values. This provides a smoother, less confusing experience for users entering data.
Original PR description
Purpose:
--------
Before this commit, if you edit a char field with an onchange in
an x2many, the FormStatusIndicator buttons will flicker.
How to reproduce:
-----------------
- Go to a form view with an x2many field in list mode
- Type a char in the char field of a record
- The FormStatusIndicator buttons are visible
- Click outside the char field
- An onchange is triggered
Before this commit:
The FormStatusIndicator buttons will disappear until the onchange returns.
After this commit:
The FormStatusIndicator buttons remain visible.Self-order receipts now show the actual payment method name instead of the generic label "Bank". This makes receipts clearer for customers and helps staff reconcile payments more easily.
Original PR description
Fixes the receipt payment lines name (replacing "Bank" by the payment method name). task-id: 3572422
This fix ensures product categories appear properly in the self-order interface. It helps customers browse menu items more easily and reduces confusion during ordering.
Original PR description
Fixes the display of categories in the self-order UI. task-id: 3572141
POS receipts now include the customer linked to the order where needed. This supports India receipt requirements and ensures loyalty-related receipts have the necessary customer information.
Original PR description
In this commit, we are adding partner to the order receipt as it is needed for the receipt in india and for the loyalty module. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The manufacturing order overview report no longer fails when opened for completed orders. The report label was also clarified from "Reserved" to "Quantity" so users better understand the quantities shown.
Original PR description
A "quantity_done" removal was missed in the MO Overview report, which made it so the report would throw an error when opened for a done MO. Also replace "Reserved" with "Quantity" in the overview so that it is more consistent with pickings + is more intuitive since it is currently confusing that when the qty produced is updated, then it appears that the qty reserved changes (rather than a qty being done) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Graph view tooltips now display their items in the expected sorted order again. This restores a small but useful visual behavior that was lost after a charting library update, making graph data easier to read and compare.
Original PR description
Tooltip items are not correctly sorted anymore after migration to last Chart.js version in the commit eb530b83b06a057f96. This feature is fixed in this commit. task-3552948
This update fixes a broken test in the Industry FSM Sales module that was failing when installed without certain accounting modules. The test now creates its own required accounting data during setup, making it work independently regardless of which other modules are installed. This ensures the test suite runs reliably in all installation scenarios.
Original PR description
**steps to reproduce:** make a fresh install with only industry_fsm_sale (-i industry_fsm_sale) and run tests **before this commit:** test_task is broken as some accounting data is missing on the current company `odoo.exceptions.UserError: No journal could be found in company YourCompany for any of those types: sale ` **after this commit:** the test is independent and create relevant accounting data during the setUpClass opw-3506568 Forward-Port-Of: odoo/enterprise#49429
This update simplifies the quality control interface by removing a secondary quality alert feature and replacing it with a server action. This change reduces visual clutter in the picking view, making the interface cleaner and easier to use for warehouse staff.
Original PR description
Replace it by a server action. The purpose is to lighten the picking from view
This update fixes spelling and grammar errors discovered during the translation process for Odoo 17 across three modules: Appointment Account Payment, Maintenance Worksheet, and MRP Workorder. These corrections ensure that users see properly spelled text throughout the system, improving the overall quality and professionalism of the software.
Original PR description
Corrects typos found when translating Odoo 17. *: appointment_account_payment, maintenance_worksheet, mrp_workorder Community: https://github.com/odoo/odoo/pull/140282
This update reorganizes how the stock picking screen customizes its stock movement field. It keeps the behavior the same for users while making the underlying implementation safer and easier to maintain.
Original PR description
It's bad practice to use the "extension" inheritance mode for a custom component. In this case, inheritance is only necessary for the "StockMoveX2ManyField" custom field. In this commit, we will therefore use primary mode to generate a custom template used only by "StockMoveX2ManyField". 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
Prior to this commit, the Request for Quotations (RFQ) dashboard suffered from a visibility issue. Specifically, the values displayed on the right section of the dashboard were using a background color class that was not correctly used leading to poor differentiation between the values and their corresponding labels/titles. This commit apply the correct background colors to these elements. task-3573792 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submi
Original PR description
Prior to this commit, the Request for Quotations (RFQ) dashboard suffered from a visibility issue. Specifically, the values displayed on the right section of the dashboard were using a background color class that was not correctly used leading to poor differentiation between the values and their corresponding labels/titles. This commit apply the correct background colors to these elements. task-3573792 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140167
There is an exact case where having a grid mode block inside a mega menu item will fully bug: all elements will be on top of each other. In order to reach this case, you need to: - Create a mega menu - Make the block inside this mega menu use grid mode - Find a screen size where this mega menu will be part of the extra menu items (hidden in the `+` entry) - BUT the screen size should not toggle the mobile view Point of attention when trying to replicate the issue: When you enable
Original PR description
There is an exact case where having a grid mode block inside a mega menu item will fully bug: all elements will be on top of each other. In order to reach this case, you need to: - Create a mega menu…
There is an exact case where having a grid mode block inside a mega menu item will fully bug: all elements will be on top of each other. In order to reach this case, you need to: - Create a mega menu - Make the block inside this mega menu use grid mode - Find a screen size where this mega menu will be part of the extra menu items (hidden in the `+` entry) - BUT the screen size should not toggle the mobile view Point of attention when trying to replicate the issue: When you enable grid mode, the result will depend on the available size. So be sure to not enable the grid mode on a megamenu which is already hidden in the extra items when you are in edit mode, in such a case, there is no bug. This commit simply disables the grid mode in such a case, it will thus behave like the grid mode in mobile view and therefore be responsive (disabled in mobile). opw-3547405 Before  After  Forward-Port-Of: odoo/odoo#139109
**Step to reproduce**: - Create a pos session - Create a new order - Process the payment (the syncing has to be long to notice the issue) **Issue**: You can still click on buttons in the interface payment screen and trigger tracebacks **Cause**: The ui is not blocked while syncing orders **Solution**: Block the ui while syncing orders --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140032 Forward-Port
Original PR description
**Step to reproduce**: - Create a pos session - Create a new order - Process the payment (the syncing has to be long to notice the issue) **Issue**: You can still click on buttons in the interface payment screen and trigger tracebacks **Cause**: The ui is not blocked while syncing orders **Solution**: Block the ui while syncing orders --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140032 Forward-Port-Of: odoo/odoo#137974
Issue: ====== - When a user attempt a certification it will count as 1st attempt and then do retry directly it will count as second attempt : fine. - When a user attempt a certification it will count as 1st attempt and then exit the page and go to the certification again it will count as 1st attempt too. So the user can have unlimited number of attempts like this. Steps to reproduce the issue: ============================= - Install survey , elearning - Go to a course with a c
Original PR description
Issue: ====== - When a user attempt a certification it will count as 1st attempt and then do retry directly it will count as second attempt : fine. - When a user attempt a certification it will count…
Issue: ====== - When a user attempt a certification it will count as 1st attempt and then do retry directly it will count as second attempt : fine. - When a user attempt a certification it will count as 1st attempt and then exit the page and go to the certification again it will count as 1st attempt too. So the user can have unlimited number of attempts like this. Steps to reproduce the issue: ============================= - Install survey , elearning - Go to a course with a certification and do the certification, exit the page and enter to it again. - Go to the user page and see the certifications you will see they both counted as 1st attempt. Expected behavior: ================== - when a user leaves a course (willingly or not) we remove the relationship between the user_input and slide_partner_id. - To get the remaining attempts we just get the user_input_ids of the slide_partner because the old ones are removed. opw-3498054 Forward-Port-Of: odoo/odoo#135910
Dark-mode colors have been adapted from MILK redesign in 16.3 [1]. Discuss badge colors were changed in 16.4 to match systray color [2]. Commit [1] adapted them to use primary color instead of intended sytray color. Removing the override of style fixes the issue, as the base style in `core.scss` (white theme) works in both themes. [1]: https://github.com/odoo/odoo/pull/130991 [2]: https://github.com/odoo/odoo/pull/122946 Before  works in both themes. [1]: https://github.com/odoo/odoo/pull/130991 [2]: https://github.com/odoo/odoo/pull/122946 Before  After  Forward-Port-Of: odoo/odoo#140265
Before this commit, when opening a thread in the Discuss app and changing to another active thread from the Messaging Meu in the systray, the new thread was mistakenly renamed to the previous active thread name. This happens because the component `AutoresizeInput`, which is used to show the thread name in the header of Discuss app, also allows to rename the thread. The code to trigger rename was too naïve, in that a click away was considered as a rename operation on the current thread. Thi
Original PR description
Before this commit, when opening a thread in the Discuss app and changing to another active thread from the Messaging Meu in the systray, the new thread was mistakenly renamed to the previous active thread name. This happens because the component `AutoresizeInput`, which is used to show the thread name in the header of Discuss app, also allows to rename the thread. The code to trigger rename was too naïve, in that a click away was considered as a rename operation on the current thread. This commit fixes the issue by triggering the editing of the value in the `AutoresizeInput` component only when the click away happens while the input had focus. The click in messaging menu will not trigger it as the input is not focused. Task-3570377 Forward-Port-Of: odoo/odoo#140086
Currently, if a user has an active deferred entry whose account has been deprecated in the mean time, we create a move line containing this deprecated account which raises an unclear error to the user. Now, instead, we let the user create deferral entries for deprecated accounts. We also add a test to check that old moves are not taken into account when generating deferral entries. task-id 3544877 Enterprise PR: https://github.com/odoo/enterprise/pull/48631 Forward-Port-Of: odoo/odo
Original PR description
Currently, if a user has an active deferred entry whose account has been deprecated in the mean time, we create a move line containing this deprecated account which raises an unclear error to the user. Now, instead, we let the user create deferral entries for deprecated accounts. We also add a test to check that old moves are not taken into account when generating deferral entries. task-id 3544877 Enterprise PR: https://github.com/odoo/enterprise/pull/48631 Forward-Port-Of: odoo/odoo#139941 Forward-Port-Of: odoo/odoo#138959
The forms where we have ribbons do not provide a great user experience when the internal links are right below the ribbon. Because of the shape and size of the ribbon, the internal link button on the topmost fields gets behind the ribbon. Because the rectangular part of the ribbon is transparent, we can see the button, but cannot click or hover over it, because the ribbon element takes over. To resolve this, I set the pointer-events of ribbon to none. The ribbons already do not have any click ev
Original PR description
The forms where we have ribbons do not provide a great user experience when the internal links are right below the ribbon. Because of the shape and size of the ribbon, the internal link button on the topmost fields gets behind the ribbon. Because the rectangular part of the ribbon is transparent, we can see the button, but cannot click or hover over it, because the ribbon element takes over. To resolve this, I set the pointer-events of ribbon to none. The ribbons already do not have any click events so this solution seems okay. Steps to Reproduce: 1. Move a helpdesk ticket to the archive. 2. Try to move to the customer page using the internal link. Current Behavior: The link button cannot be hovered over and clicked. Expected Behavior: The link button should be above other elements and clickable. OPW-3468153 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139664 Forward-Port-Of: odoo/odoo#133136
This happened when auditing an aggregation line with a sum_children formula. A test was added in enterprise to prevent that to occur again in the future. Forward-Port-Of: odoo/odoo#139408 Forward-Port-Of: odoo/odoo#139079
Original PR description
This happened when auditing an aggregation line with a sum_children formula. A test was added in enterprise to prevent that to occur again in the future. Forward-Port-Of: odoo/odoo#139408 Forward-Port-Of: odoo/odoo#139079
Since c8ca9da7bcee2c122a9d6cf8cda89f02823ba42d, the tooltips in the charts can come out of the container and make the scrollbar appear, which is not desired. In this commit, we fix that. task-3568895 Forward-Port-Of: odoo/odoo#139885
Original PR description
Since c8ca9da7bcee2c122a9d6cf8cda89f02823ba42d, the tooltips in the charts can come out of the container and make the scrollbar appear, which is not desired. In this commit, we fix that. task-3568895 Forward-Port-Of: odoo/odoo#139885
This commit removes the requirement that the records count should be set before the edit domain button is shown for domains which must be edited in a dialog. This could be annoying in cases the records count loads slowly. task-3561782 Forward-Port-Of: odoo/odoo#139235
Original PR description
This commit removes the requirement that the records count should be set before the edit domain button is shown for domains which must be edited in a dialog. This could be annoying in cases the records count loads slowly. task-3561782 Forward-Port-Of: odoo/odoo#139235
Steps to reproduce: - Edit a mailing (mass_mailing) - Click the save icon - Type to '/' to open the Powerbox (it does not...) The `getPowerboxElement` function fails to return the correct node because `this.options.document` is no longer the iframe document after the Wysiwyg component is re-rendered. This happens because when the Wysiwyg component has its props updated, its `options.document` is overwritten by its default option (the top document). This commit makes sure that, when the
Original PR description
Steps to reproduce: - Edit a mailing (mass_mailing) - Click the save icon - Type to '/' to open the Powerbox (it does not...) The `getPowerboxElement` function fails to return the correct node because `this.options.document` is no longer the iframe document after the Wysiwyg component is re-rendered. This happens because when the Wysiwyg component has its props updated, its `options.document` is overwritten by its default option (the top document). This commit makes sure that, when the editor is mounted inside an iframe, `options.document` evaluates to the iframe's document throughout the entirety of the Wysiwyg component lifecycle. task-3548120 Forward-Port-Of: odoo/odoo#138259
Since [1], highlighting a pinned message from the notification sent to the channel does not work anymore. This is due to a `super` call missing. This PR fixes the issue. Steps to reproduce: - Go to a channel - Pin a message - Click on the "message" link - Nothing happens [1]: https://github.com/odoo/odoo/pull/121418 Forward-Port-Of: odoo/odoo#139876
Original PR description
Since [1], highlighting a pinned message from the notification sent to the channel does not work anymore. This is due to a `super` call missing. This PR fixes the issue. Steps to reproduce: - Go to a channel - Pin a message - Click on the "message" link - Nothing happens [1]: https://github.com/odoo/odoo/pull/121418 Forward-Port-Of: odoo/odoo#139876
Steps to reproduce: ------------------- - create a job application; - add an applicant name; - add an email with a wrong format. - save; Issue: ------ A traceback occurs. Solution: --------- Check that the normalized email exists (that it is not `False`) before using it. opw-3544918 Forward-Port-Of: odoo/odoo#139456
Original PR description
Steps to reproduce: ------------------- - create a job application; - add an applicant name; - add an email with a wrong format. - save; Issue: ------ A traceback occurs. Solution: --------- Check that the normalized email exists (that it is not `False`) before using it. opw-3544918 Forward-Port-Of: odoo/odoo#139456
Forward-Port-Of: odoo/odoo#139639
Original PR description
Forward-Port-Of: odoo/odoo#139639
enterprise part of odoo/odoo#139639 Forward-Port-Of: odoo/enterprise#49485
Original PR description
enterprise part of odoo/odoo#139639 Forward-Port-Of: odoo/enterprise#49485