Wednesday, September 27, 2023
30 changes · master
New functionality added to Odoo
A new restaurant display lets customers see current orders grouped by preparation status. This helps staff keep customers informed using the same preparation tracking data already used by the kitchen display.
Original PR description
In this Pr we introduce a new module that enables restaurants to show their customers a display with all the current orders, filtered by their preparation state. In order to know the preparation state of the orders, we rely on the information provided by the `pos_preparation_display` module. Task: 3514516 https://github.com/odoo/odoo/pull/136065
Approval requests can now be linked with Odoo Documents, making it easier to store and find supporting files in the approval process. This helps teams keep approval records and related documents organized in one place.
Original PR description
task-3425080
Enhancements to existing features
AvaTax is now automatically installed for companies in countries where it is commonly used, including the United States and Brazil. A new settings checkbox also makes it easier for businesses to enable AvaTax when needed, reducing setup effort for tax compliance.
Original PR description
Auto install AvaTax module for countries that use AvaTax ('US','BR'). Add a checkbox in settings to easily install the module if needed
task ID: 3398637Resolved issues and error corrections
Corrected small wording typos in several Odoo screens or reports where “ot” appeared instead of the intended word. This improves the polish and clarity of user-facing text without changing business processes or functionality.
Original PR description
Fix some "ot" that are sometimes "to", "of", ... just passing by.
Features or functions removed from Odoo
New customers will no longer be able to install the Taxcloud integration, while existing customers who already use it can continue doing so. The change supports a planned deprecation path and allows the modules to be released under LGPL so others can maintain or migrate them if needed.
Original PR description
This commit stops new users from installing Taxcloud. Taxcloud will keep working for customers who already had it installed in a previous version. Our Taxcloud modules will be released under LGPL,…
This commit stops new users from installing Taxcloud. Taxcloud will keep working for customers who already had it installed in a previous version. Our Taxcloud modules will be released under LGPL, giving everyone the opportunity to migrate and maintain these modules for future versions if they have a need. This commit follows a similar approach to odoo/odoo@c9072dfe798d658246ca6fc255f95eb884a6d389. Using the installable flag in the manifest was considered but doesn't have the desired result: - module installation doesn't error, instead it remains in the “to install” state - this leads to errors when loading the registry [1], - this prevents crons from running The current approach still allows command-line manipulation which is needed for migration and allows us to keep the modules installed on runbot for support. Dependencies of account_taxcloud don't get this hook, this allows existing customers to still install the right bridge module if needed. If account_taxcloud is not installed, then installing a dependency of it errors as expected. An upgrade script isn't needed because upgrading any module will automatically sync the auto_install field from the manifests via ir.module.module's update_list(). [1] Some modules have inconsistent states, some dependencies may be missing: ['account_taxcloud'] task-3516826
Code cleanup and technical improvements
This update reorganizes internal messaging and discussion data handling to make the code easier to maintain and extend. It also aligns related WhatsApp, Documents, and Accounting integrations with the new structure, reducing complexity behind the scenes without introducing major user-facing changes.
Original PR description
https://github.com/odoo/odoo/pull/136308
Miscellaneous changes
The boolean edit popover was not working properly. The python was expecting a boolean in the form of an integer (0 or 1) but the javascript was sending an actual boolean (true or false). It was fixed by just sending the boolean converted to a number. The styling of the boolean popover was missing, so it was added in this commit as well. Forward-Port-Of: odoo/enterprise#47389
Original PR description
The boolean edit popover was not working properly. The python was expecting a boolean in the form of an integer (0 or 1) but the javascript was sending an actual boolean (true or false). It was fixed by just sending the boolean converted to a number. The styling of the boolean popover was missing, so it was added in this commit as well. Forward-Port-Of: odoo/enterprise#47389
The General Ledger, Partner Ledger, and Journal Report now show invoice dates more clearly, making it easier for users to review and reconcile accounting information. The update also fixes payment lines in the Customer Invoices journal report so account names consistently show the relevant partner information.
Original PR description
Description of the issue/feature this PR addresses: The invoice date (or accounting date if there is not accounting date available) is not shown in the General Ledger, Partner Ledger and Journal…
Description of the issue/feature this PR addresses: The invoice date (or accounting date if there is not accounting date available) is not shown in the General Ledger, Partner Ledger and Journal Report. This piece of information is missing and could be useful During this feature's development, a bug was found in the Customer Invoices in the Journal Report. The name of the account receivable of the invoice was renamed from [code][name] to [code][partner] to give more information to the user. The bug was that this behavior was only present in the first line of the invoice so if the invoice was paid in multiple times, only the first line would have the adapted name. Desired behavior after the PR is merged: Adding this commit, the three targeted reports now show the invoice date and a small fix is done to the account name in the Journal Report. The General Ledger now has an "Invoice Date" column which shows the data resulting from retrieving both the accounting and the invoice date and showing the latter only if the former is not available. The Partner Ledger now uses the old "Ref" column as column name. That column is removed and replaced by a new "Invoice Date" name which content is the date previously used in the column's name. The Journal Report now has a new "Invoice Date" column and doesn't use the date in the name of the column anymore. With regards to the bug that was found, a fix is made so that every line showing a payment in the Customer Invoices of the Journal Report uses the adapted name [code][partner]. task-3388333
Point of Sale can now handle products with multiple selectable options, such as several toppings or modifiers. Kitchen and preparation screens also show these options, helping staff prepare orders more accurately.
Original PR description
Prior to this PR, `product_configurator_popup.js` did not support attribute selection of type `multi`. In addition, the `pos_preparation_display` did not display any attributes. Now it's possible to select attributes of type `multi` in the Point of Sale, and the preparation display shows all available attributes. taskid: 3497560 Preparation display before:  Preparation display after:  Point of Sale multiple attributes support: 
This change updates how appointment-related test data is mocked so it no longer disrupts calendar tests when multiple modules are installed. It helps keep automated testing stable and reduces the chance of unrelated test failures slowing development.
Original PR description
The appointment module currently extends the CalendarAttendeeController from the calendar module. Since appointment adds some rpc calls in the controller, it was decided to patch the MockServer with…
The appointment module currently extends the CalendarAttendeeController from the calendar module. Since appointment adds some rpc calls in the controller, it was decided to patch the MockServer with the appointment routes to prevent having tests fail because of unimplemented routes. However, patching the MockServer is not advised by the JS team and the current patch calls ORM mock methods (like mockRead, mockSearchRead...) that depend on serverData that is solely defined on the appointment tests. This causes any test done in the calendar module using the calendar_attendee js class to fail when all modules are installed because, even though the route is mocked, it tries to fetch data that is only defined for appointment. This commit changes the approach to use the mock_server registry, defining each route individually. For routes that are called on the onWillStart hook and their mock should be doing a mockRead, it was decided to overwrite the mock inside the appointment tests. This way, it is possible to return an "empty" object for all tests that are not appointment related, and for appointment tests we simply overwrite the mock_server for that route with the original implementation and after the tests are done, we can restore the mock.
Booked tables in the restaurant point of sale now display the reservation name and expected number of guests. This helps staff quickly identify reservations on the floor plan and prepare tables more efficiently.
Original PR description
Prior to this commit the name of the reservation was not displayed under the booked table. In addition to fixing this issue, this commit adds the number of people expected on the table. Example: https://drive.google.com/file/d/1dY1Bm2BmxA7sB2nsqax8qFUx7ED-1W3u/view?usp=drivesdk Before:  After: 
Users can now choose the required cancellation reason for Mexican electronic invoices, including a guided flow for replacement invoices when reason 01 is needed. The update also adds retry actions for failed CFDI operations and prevents changes that could make signed or cancelled invoice data inconsistent.
Original PR description
task: 3102918
Odoo Studio now shows or disables sidebar settings based on related options, making the view editor easier to use. This helps users see only relevant choices without changing the underlying view configuration.
Original PR description
This commit introduces the concept of 'Computed Options' in the sidebar of the view editor. Those are options that are tied to another option. Their value and visibility depends on another option present in the sidebar. While computed options are used to adapt the display of the property in the sidebar, the actual value is not changed in the view. This is only a way for studio to improve the user experience by showing only relevant options, or disabling those that are superseeded by others. task-3469741
Spreadsheet users now see a clearer warning when their personal language/region settings differ from the spreadsheet’s settings. The message shows the spreadsheet’s date and number formats, helping users enter values correctly, and spreadsheet loading is improved by avoiding an extra background request.
Event attendee badges now support multiple print layouts, including A6, foldable A4, and four-per-sheet formats. QR codes replace traditional barcodes on the relevant badge templates, making check-in badges easier to scan and better suited to different printing needs.
Original PR description
Before, badge of event attendees were always using the foldable format. Now, they use different formats: a6 - a4 foldable - 4 per sheet. Qr code replace the barcode as well. Therefore, inherits event report templates linked to badge accordingly, removing barcode but adding qrcodes where needed. Task-3473293
This change updates several Odoo Enterprise apps to work with the newer internal communication services after older components were removed. It helps keep appointment booking, payments, rentals, POS, website tools, and other features compatible with the latest platform foundation without changing their intended business behavior.
Original PR description
In the PR https://github.com/odoo/odoo/pull/136271 the files ajax.js and rpc.js has been removed. This commit adapts all the places where their exports were used. For most of the changes, it's a replace of `this._rpc({...})` by a new `useService("rpc|orm")` like pattern in the widgets.
task: 3439226The task list in Project now shows planned dates immediately after the task name. This makes scheduling information easier to spot while reviewing or organizing project tasks.
Original PR description
...in task tree view. Related: https://github.com/odoo/odoo/pull/136001 task-3514409
Subscription screens now use clearer labels and shorter empty-state messages, including better guidance for upsell records. A mistaken error that appeared when updating sent subscription quotations after removing recurring details has also been corrected, reducing confusion for sales users.
Original PR description
Specification: To maintain the space in subscription form view. Now: Rename the string 'Date of next invocie' to 'Next Invoice'. Specification: Very large description on subscription empty view. Now: Changed the description message of subscription empty view. Specification: There is no description in upsell menu when there is no record. Now: Added the description and changed the title for upsell menu having no record. Specification: On updating the subscription record in quotation sent state it display user error even after removing recurring product and recurrence. Now: We fixed and user error will not occur. Task-3501381
Help Center users can no longer submit an empty search, reducing confusion. Search results now open in a new tab, and Helpdesk team settings include clearer descriptions for related Help Center features.
Original PR description
*=website_helpdesk,website_helpdesk_forum,website_helpdesk_knowledge,website_helpdesk_slides This PR brings a few improvements to the helpdesk help center: - Disable the search button while the search bar is empty to avoid searching on nothing. - Open search results in a new tab since there is no easy way to go back from a search result. - Add more description to the help center related features. Task-3475459
Odoo now automatically chooses the correct Mexican invoice report, either the standard invoice or the CFDI version, when users print or use the Send & Print flow. This helps ensure customers receive invoices with the right fiscal information and improves the Studio editing preview with sample CFDI data.
Original PR description
Allows Odoo to dynamically select the "right" report (regular invoice or invoice with CFDI information) for l10n_mx_edi, whether the render is called through the "Print" or the Send&Print wizard. Also add "fake" data to be displayed in Studio when editing the l10n_mx_edi custom invoice. Community: https://github.com/odoo/odoo/pull/136389 Task-id: 3492033
This fix corrects how search terms are handled in several Odoo areas so results match the intended values more reliably. It helps avoid missed or overly broad matches in reports, Belgian localization features, SODA account mapping, and Studio view handling.
Original PR description
The 'like'/'ilike' operators automatically add the wildcard character (`%`) at the beginning and at the end of the value. This commit fixes the incorrect usage. https://github.com/odoo/odoo/pull/136007 task-3508361
This update fixes automated payroll dashboard walkthroughs that were failing after a related HR responsibility field was moved between modules. It helps keep payroll and salary contract screens reliably tested so future changes can be validated with confidence.
Original PR description
In odoo/enterprise#39804 the field hr_responsible_id was moved from hr_contract_view_form from hr_contract to hr_contract_salary module. Due to this change payroll_dashboard_ui_tour was failing. This commit adjusts the tours according to the change.
This update modernizes internal automated tests by removing outdated jQuery usage in several Odoo apps. It helps keep the test suite easier to maintain and supports future reliability, with no expected change for end users.
Original PR description
\* = account_online_synchronization, documents, documents_spreadsheet, planning https://github.com/odoo/odoo/pull/136425
A user without HR rights couldn't ask feedback. task-3302171 Forward-Port-Of: odoo/enterprise#40751
Original PR description
A user without HR rights couldn't ask feedback. task-3302171 Forward-Port-Of: odoo/enterprise#40751
We remove the mexican flag emoji as it leads to a parsing error an error when loading the views. Forward-Port-Of: odoo/enterprise#47539
Original PR description
We remove the mexican flag emoji as it leads to a parsing error an error when loading the views. Forward-Port-Of: odoo/enterprise#47539