Tuesday, October 10, 2023
30 changes · master
Enhancements to existing features
This update simplifies how Odoo views refer to the current record, replacing misleading internal references with clearer ones across many modules. Existing screens should continue to work, but customizations using the older references will now receive warnings ahead of their planned removal in a future version.
Original PR description
This commit aims to simplify the evaluation context used to evaluate expressions used in views (invisible, required, readonly, domain and context attributes). For now, the evaluation context is…
This commit aims to simplify the evaluation context used to
evaluate expressions used in views (invisible, required, readonly,
domain and context attributes). For now, the evaluation context is
typically the current record (there's a key for each field in the
view). In addition to that, there're static keys (that may conflict
with field names): uid, allowed_company_ids, current_company_id,
active_id, active_ids and active_model.
The motivation of this commit is at some point to get rid of the
3 active_* keys, because they are misleading and basically useless.
The notion of active_* exists, but it is something else: when you
are in a form view (let's say the form of a partner) and you open
its opportunities (by clicking on the stat button), the list view
of opportunities shows up and in the context, there're 3 keys
active_* , referring to the record from which we came. One can
easily access those information with context.get("active_*"), in
python or in view archs.
However, almost all `active_id` found in archs were actually used
to refer to the id of the current record. Indeed, for now, in the
evaluation context of a record, the value of the `active_id` key is
always the id of the record. So this commit adapts them to
directly use `id` instead. There was no use of active_ids, and
a single use of active_model which was removed (active_model is
the res_model of the view, so it isn't really necessary).
This commit doesn't drop the support of those keys, it deprecates
them. They will be removed for v18. A warning will be displayed if
they are used.The Mail app now includes additional information needed to better support VoIP calling features. This prepares the communication experience for smoother phone integration across related Odoo apps.
Original PR description
Adds useful fields to models needed for VoIP to work. Enterprise: https://github.com/odoo/enterprise/pull/38339 Upgrade: https://github.com/odoo/upgrade/pull/5021
Mobile self-order can now be enabled without restaurant mode, with sensible pickup and per-order payment defaults. Customers also get clearer, less disruptive messages when self-order is closed or no products are available, reducing crashes and confusion.
Original PR description
Previously, mobile self-order was not available when restaurant mode was deactivated. Now it's possible to activate self-order mode without the restaurant option activated. Self-order will then be forced to "pickup zone" mode and pay after "each order". --- Previously, when the self-order was closed, a popup indicating this appeared in full screen. Now, this popup has been replaced by a banner at the top of the screen, so that the self-order can still be used in read-only mode. --- Previously, when the kiosk was loaded and there was no product available in the pos_config, a traceback was raised. Now, when we are in this case, we display a message indicating to first add products in full screen. --- Fixed a traceback when trying to start the POS by clicking on the image of the landing page. The function start() had been removed. It is now restored.
Forum moderators can now more easily view and filter non-deleted posts by status, including flagged, closed, and pending items. This helps moderators find posts needing attention and reopen posts through filters when appropriate, while reserving permanent archiving controls for internal users.
Original PR description
This commit improves filters in forum so that moderator can see all non-deleted posts on main page, use filters to move to flagged, closed or pending post lists, and reopen them through filters if need arises. task-3349373 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Customer lists now make it easier to view and organize electronic invoicing details, including EDI format and PEPPOL information. Users can also check PEPPOL endpoint details for selected customers directly from the list, helping teams manage customer e-invoicing setup more efficiently.
Original PR description
Problem --------- Currently, the tree view for customers does not include information about the EDI format. Only a custom `group_by format` is present which is not user friendly. Objective --------- As we have more and more EDI format following each type of customer, we should add an easy way to manage that directly in the customer list. Solution --------- 1. Extend the `res_partner` search view to add a group_by option on the format. 2. Extend the `res_partner` tree view to add an optional hidden column on the format, and one for the PEPPOL eas, endpoint and endpoint validity. 3. Create a server action that executes `button_account_peppol_check_partner_endpoint` on the selected records in the list view. task-3531419 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Shared portal links can now display a short preview with useful context, so recipients can understand what the link is about before opening it. This improves the sharing experience for project and task portal pages and makes links more informative in conversations.
Original PR description
Before this PR, when the user shares a portal link, the receiver has to click on the link to understand what it is about. This PR uses new key called `preview_object` inside `portal.frontend_layout` template. When it is defined, it will add some useful information for the preview link. This commit also defines `preview_object` in portal view of project and task to be able to have the preview link to prevent the user from having to click on the link to understand what it is about. task-3186692 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
Odoo now loads messaging data only when a user action or feature actually needs it, instead of during service startup. This reduces unnecessary initialization and avoids conflicts in live chat scenarios where messaging data is not required before sending a message.
Original PR description
By this commit 'mail.messaging' service is not initialized at the start of the service. So whenever we need the data from `init_messaging`, we initialize it there. Before this commit, we had to override the initialize function if we didn't need the data from init_messaging, like in livechat module before sending a new message. As a result, any other possible usage of initializing data in messaging service, would be broken in a same assets bundle. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo now uses clearer, shorter, and more approachable error and warning messages across several business apps. This helps users better understand what went wrong and reduces frustration during everyday workflows, while some unnecessary warnings were removed.
Original PR description
Before this PR error messages in odoo are boring and not much attractive to user. Those were like odoo is preventing them from doing something user want to do. In this PR, we have modified the message to be a more friendly and humorous tone, making it less tedious and more enjoyable. It aims to enhance the user experience and ensure that interactions with any application are both pleasant and informative. As a result, the messages have been clear, short, easy to understand and informative. task-3356114
Warehouse users can now search stock transfers using the lot or serial number recorded on stock move lines. This makes it easier to locate related pickings when tracing products, investigating issues, or handling barcode-driven workflows.
Original PR description
Give the ability to filter pickings base on lot/serial number set on stock move lines. 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
The self-ordering point of sale interface has been redesigned to work better on both mobile devices and large kiosk or TV screens. Demo product and loyalty visuals were also refreshed, making demonstrations and testing more polished and realistic.
Original PR description
Following the merge of mobile and kiosk functionalities [1], this commit adapt and improve the UI in order to fit both mobile devices and TV screens. [1] https://github.com/odoo/odoo/pull/136051 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Email sending now identifies cases where the sender address is missing or invalid, making delivery failures easier to understand and resolve. This improves reporting for regular mail and mass mailing, helping teams diagnose email issues faster.
Spreadsheet users can now edit the criteria used by Odoo charts, aligning charts with the existing behavior for lists and pivots. Charts reload correctly when those criteria change, so reports reflect updated business filters without needing manual workarounds.
Original PR description
## Task Description: This PR aims to add the possibility to edit the evaluation domain of an Odoo chart, the same way it can currently be done for other datasources like `List` or `Pivot`. This revision ensures that the chart datasources are properly reloaded their domain update. Task: 3384872 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Spreadsheet users can now change the order of global filters with drag and drop, making filter organization more flexible and easier to manage. The underlying filter handling was also cleaned up to avoid duplicate filter identifiers and reduce inconsistent behavior.
Original PR description
## [IMP] spreadsheet: allow to reorder global filters This commit allows to reorder global filters via drag and drop. The fact that global filters have a concept of order means taht the structure of…
## [IMP] spreadsheet: allow to reorder global filters This commit allows to reorder global filters via drag and drop. The fact that global filters have a concept of order means taht the structure of the global filters in the core plugin need to change from an Object<string, GlobalFilter> to an Array<GlobalFilter>. ## [REF] spreadsheet_edition: de-duplicate filter id in cmds The commands `ADD_GLOBAL_FILTER` and `EDIT_GLOBAL_FILTER` had the filter id once in cmd.id, and once in cmd.filter.id. This made it possible to send a command with 2 different ids, which can have arbitrary behaviour depending on the implementation details of the command. Changed it so we only use cmd.filter.id, and removed the cmd.id field. Also simplified the commands helpers for the tests. Task: [3502684](https://www.odoo.com/web#id=3502684&menu_id=4720&cids=1&action=333&active_id=2328&model=project.task&view_type=form) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Spreadsheet users can now drag and drop global filters to arrange them in the order that best fits their workflow. This makes filter management clearer and more flexible, while also simplifying the underlying filter handling to avoid inconsistent filter identifiers.
Original PR description
## [IMP] spreadsheet: allow to reorder global filters This commit allows to reorder global filters via drag and drop. The fact that global filters have a concept of order means taht the structure of the global filters in the core plugin need to change from an Object<string, GlobalFilter> to an Array<GlobalFilter>. ## [REF] spreadsheet_edition: de-duplicate filter id in cmds The commands `ADD_GLOBAL_FILTER` and `EDIT_GLOBAL_FILTER` had the filter id once in cmd.id, and once in cmd.filter.id. This made it possible to send a command with 2 different ids, which can have arbitrary behaviour depending on the implementation details of the command. Changed it so we only use cmd.filter.id, and removed the cmd.id field. Also simplified the commands helpers for the tests. Task: [3502684](https://www.odoo.com/web#id=3502684&menu_id=4720&cids=1&action=333&active_id=2328&model=project.task&view_type=form)
Users can now adjust the data source behind Odoo charts directly from the spreadsheet chart side panel, including the business model and filtering criteria. This makes chart setup and maintenance easier, aligning chart editing with the existing experience for pivot tables and lists.
Original PR description
Task Description: This PR aims to add a side panel to edit the Odoo Chart data source, as the model and the domain, in the same way as it was done for the pivot and the list, making these informations available/editable from the Odoo chart side panel. - Task: 3384872 - https://github.com/odoo/odoo/pull/135242
The POS order tracking display now has clearer layouts, adjusted colors, and better text sizing for readability on different screens. Ready orders are highlighted with a success color, helping customers quickly see when their order is available.
Original PR description
In this commit, I've made UI improvements to the user interface of the recently introduced POS order tracking display module, which serves as a display for customers to monitor the state of their orders on a screen. Key enhancements includes: - Layout small changes - Color adjustments - Font-size management to ensure readability across different displays - Success color indicator for "ready" orders to provide a better visual feedback to the customer <table> <tr> <td>Before</td> <td> After</td> <tr> <td> <img width="1726" alt="Capture d’écran 2023-08-29 à 09 05 01" src="https://github.com/odoo/enterprise/assets/80678921/051a5cac-a3bf-4cb7-b131-2a926873990b"> </td> <td><img width="1726" alt="Capture d’écran 2023-08-29 à 09 05 07" src="https://github.com/odoo/enterprise/assets/80678921/593ab0f9-0788-47ef-b818-b9eb9839cb94"> </td> </table> task-3522343
Warehouse users can now scan a lot or serial number directly from Barcode app menus to find related inventory and filter relevant transfers. This makes it faster to locate products tied to a specific lot and improves day-to-day stock handling accuracy.
Portal pages now use the same conversation panel experience as the backend, making messages and activity tracking more consistent for users. This reduces differences between internal and portal workflows across several business apps, helping teams collaborate with external users more smoothly.
Original PR description
Task-2828744 [Related odoo PR](https://github.com/odoo/odoo/pull/135599)
Subscription invoices can now be consolidated when generated by the automated subscription process. This reduces invoice clutter and makes recurring billing easier to manage for customers and accounting teams.
Original PR description
Allow invoices to be consolidated in the subscription cron. task-id: 3210623
Error messages have been rewritten to feel clearer, shorter, and more approachable for users. This improves the experience when users encounter restrictions or issues by making guidance easier to understand and less frustrating.
Original PR description
Before this PR error messages in odoo are boring and not much attractive to user. Those were like odoo is preventing them from doing something user want to do. In this PR, we have modified the message to be a more friendly and humorous tone, making it less tedious and more enjoyable. It aims to enhance the user experience and ensure that interactions with any application are both pleasant and informative. As a result, the messages have been clear, short, easy to understand and informative. task-3356114
The Polish reports module now includes the JPK tax reporting capabilities that were previously kept in a separate module. This simplifies setup and maintenance for Polish reporting while also updating delivery date handling in related reports.
Original PR description
Merge both modules. Also, change l10n_pl_delivery_date changes for delivery_date Linked with Odoo https://github.com/odoo/odoo/pull/135595
Shared Helpdesk portal links now include preview information so recipients can understand what the link is about before opening it. This makes shared support links clearer and reduces unnecessary clicks for customers and team members.
Original PR description
Before this PR, when the user shares a helpdesk link, the receiver has to click on the link to understand what it is about. This PR uses new key called `preview_object` inside `portal.frontend_layout` template. When it is defined, it will add some useful information for the preview link. This PR also defines `preview_object` in portal view of project and task to be able to have the preview link to prevent the user from having to click on the link to understand what it is about. task- 3186692
Report file exports no longer stop at the first missing or incorrectly calculated field. Users now see a wizard listing all detected issues and can still choose to generate the report, helping them complete exports while remaining informed about potential inaccuracies.
Original PR description
The file export generation blocks with user errors when some fields are not filled or wrongly computed. We want to avoid such blocking behavior, and allow the user to still generate the report, even if it's wrong. The errors that occurred are still notified to the user in a new wizard that allows him/her to generate the report anyway. This wizard also provides a list of all the errors that occurred during the generation process, instead of blocking at the first one. task-3375333
Documents now preserves selected folders, categories, and filters in the page URL. Users can reload the page or share a link and return directly to the same document workspace view, making collaboration and navigation easier.
Original PR description
Documents views will now keep the state of the searchpanel inside the url, each category and filters will thus stay after a reload. As such it is now possible to share a link that directly links to a specific folder, filter combination in documents. TaskId-3128953
Resolved issues and error corrections
Fixes a problem that made a button-group switch on the online shop unusable after a supporting component was removed. Customers and site visitors can now use this shop interface control as expected, reducing friction during browsing or purchasing.
Original PR description
In commit f24e61334ec1de577c6031743199e3b713290d2f the legacy rpc files have been removed. It was not initialized in this public widget making the btn-group switch unusable. task-3547424 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Code cleanup and technical improvements
This update modernizes how drag-and-drop sorting works so it can be reused in more parts of Odoo, including website and editor screens. It reduces reliance on older components and should make sortable interactions easier to maintain and more consistent for users.
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
The self-ordering app now shows the correct price when customers choose take away instead of eat in. This prevents pricing confusion at checkout and helps restaurants apply the right fiscal pricing automatically.
Original PR description
Steps to reproduce: - Activate "Eat in / Take away" (`pos_self_ordering_takeaway`) setting. - Set the alternative fiscal position. - ISSUE: When selecting take away in the app, the take away price is not shown. FIX: The issue is because during the loading of the products, only the default price is computed. In this PR, we are now computing the take away price as well. And in the ui, depending on the choice, we are showing the correct price.
This fixes an issue where the command menu could fail to open correctly while editing a mailing. The editor now keeps using the correct embedded document after updates, making mailing content editing more reliable.
Original PR description
Steps to reproduce: - Create new mailing (mass_mailing) - Type to '/' to open the Powerbox 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
This fixes several issues in Odoo Studio so editing views no longer affects the user context used elsewhere, reducing unexpected behavior when loading views. It also prevents unnecessary browser-close warnings in the form editor and fixes crashes when viewing field tooltips in the list editor.
The VoIP module has been rebuilt on newer Odoo technology to reduce accumulated technical debt and make future enhancements easier. This mainly updates the internal structure and user interface foundations without introducing a specific new business feature.
Original PR description
The code of the VoIP module is getting quite old and has accumulated a lot of technical debt over the years, making it very difficult if not impossible to add new features and fix some bugs. An upgrade of the code to our current coding standards is required prior to any further improvements. This commit rewrites the code to use the newest APIs. In particular, it rewrites all the javascript code in a more declarative fashion, using Owl components and services instead of the old widgets. Task-2376357. Community: https://github.com/odoo/odoo/pull/115689 Upgrade: https://github.com/odoo/upgrade/pull/5021