Wednesday, September 27, 2023
14 changes · master
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: 3398637The 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.
The 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
This update adapts several accounting, reporting, document, and field service areas to a newer shared database query mechanism. It reduces the risk of errors in reports and related workflows while keeping the changes mostly behind the scenes for users.
Original PR description
Companion of https://github.com/odoo/odoo/pull/134677.
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: 3439226