Thursday, December 14, 2023
9 changes · 17.0
Enhancements to existing features
Accounting localization templates can now include extra company setup values without blocking installation. This reduces the need for unnecessary enterprise-only localization modules while keeping validation available for tests.
Original PR description
Problem --------- In most cases, default deferred accounts and journal need to be set up for localizations. This is normally done in the enterprise report module for that localization. However, in…
Problem --------- In most cases, default deferred accounts and journal need to be set up for localizations. This is normally done in the enterprise report module for that localization. However, in some cases, the localization does not have special report formats. In such situation, a localization report module that sets up very few default values for the data company is defined. This is way overkill. Objective --------- Allow the community company template to have 'unknown fields' defined. Doing so, allows for the default deferred accounts and journal to be defined without entreprise module to exists. Currently, this raises an error. Solution --------- In the pre-processing of the chart template values, we skip all the keys in the company data that are not company fields. We add a context value which, when True, revert that behavior back to before this commit and checks that all fields in the company template are actual company fields (this will be used in the standalone test for l10n modules). We also update the standalone test for l10n modules so that: 1. it reports errors in all l10n modules at once. 2. it uses the context value described above and checks that all fields in the company chart template are correct company field. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The messaging menu now opens much faster when users have many pinned Discuss channels. This improves responsiveness in busy databases, reducing a previously minute-long wait to just a few seconds in the measured case.
Original PR description
Before this commit, when many channels were pinned in Discuss, the messaging menu took a while to open and render all items. This happens because `fetchPreviews()` and `inbox.fetchNewMessages()` were inserting data for each thread and message. This meant computed and sorted fields were called with that many objects. This commit improves the performances by wrapping all of it in an update cycle transaction, so that computed and sorted fields are invoked only once at the end of the update cycle. With `contacts` installed, populate `medium`: - Before this commit: 1min. - With this commit: 2sec. (30x faster)
This update makes large select menus respond much faster by avoiding repeated background sorting that was not needed. Users working with pages containing many dropdowns, such as invoice imports with many columns, should see far shorter waits and fewer browser freezes when selecting or removing values.
Original PR description
## Description Having several select menu containing a lot of options on a page may lead to significant wait times and browser crashes when selecting or deleting a value. ## Analysis Sorting of the…
## Description Having several select menu containing a lot of options on a page may lead to significant wait times and browser crashes when selecting or deleting a value. ## Analysis Sorting of the options is being computed on each mounted select menu during the useEffect() hook since this commit: https://github.com/odoo/odoo/commit/8a4485748f49c5b8fdb780b0bcd2435eeadd63b. ### Before this commit All of the select menu are sorted when the user select a value in one of them. This is not necessary as the sorting is already handled in beforeOpen. ### After this commit Selecting or deleting a value from a select menu is significantly faster as the sorting is not being unnecessarily computed in useEffect() anymore. ## Benchmarks Importing an Excel file containing 70 columns as an invoice with subfields search enabled: | | Before | After | |-------------|---------|--------| | Selecting | 31.2 s | 1.5 s | | Deleting | 35.9 s | 1.6 s | ## References opw-3616438 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo now shows a warning during calls when push-to-talk may not work because the browser tab is not focused. This helps users understand the limitation and points them toward the extension for a more reliable experience.
Original PR description
The push-to-talk feature only work within tab focus. This can be surprising for users that expect this feature to works even when odoo is not focused. This commit adds a banner to warn the user about this limitation and suggest to download the ptt extension. task-2664868
This improvement allows accounting chart templates to include deferred account and journal settings without requiring a separate enterprise module. Previously, these settings would cause errors if defined in community templates. Now, localizations can configure these essential accounting defaults directly in their chart templates, reducing unnecessary module dependencies and simplifying setup for smaller localizations.
Original PR description
Problem --------- In most cases, default deferred accounts and journal need to be set up for localizations. This is normally done in the enterprise report module for that localization. However, in some cases, the localization does not have special report formats. In such situation, a localization report module that sets up very few default values for the data company is defined. This is way overkill. Objective --------- Allow the community company template to have 'unknown fields' defined. Doing so, allows for the default deferred accounts and journal to be defined without enterprise module to exists. Currently, this raises an error. Solution --------- Update the `post_init_hook` in `account_accountant` so that it reloads the values for deferred accounts/journal that are defined in the community company templates.
This update improves the restaurant appointment booking experience by making the system require customers to explicitly select party size before viewing available times, adding a loading indicator while time slots are being calculated, and expanding the space for question titles. The demo data has also been updated to reflect realistic restaurant hours with 30-minute booking intervals, lunch and dinner services, and a new dietary preferences question.
Original PR description
1. Add a falsy default value for capacity If asked_capacity is not set (coming back from further step) use a '-' option by default, not showing any time slots until a capacity is selected. This way,…
1. Add a falsy default value for capacity If asked_capacity is not set (coming back from further step) use a '-' option by default, not showing any time slots until a capacity is selected. This way, that number must be knowingly selected, preventing booking for 1 without noticing, as this was the default value, missing this choice. 2. Give title of questions more space Introduced in 4f68079b535c1ea54c42ae8dabae903f88d6e87f, all the questions have their labels inlined with the input areas. The same is true for the 'text' question, despite having the textarea displayed on next line. Therefore we have only a small width given to title, despite having the whole line available. Make it use the available space. Also, align the textarea with the rest of the form. For the custom questions, show answers on next line to give full line width to their title. 3. Add a spinner for time slots As the time slots can take a while to compute and update, we add a spinner to indicate that the slots are yet to be updated. When capacity is enabled, '-' option is considered as missing data, therefore it will not show the spinner as no slots should be displayed. Only show the spinner when a day is selected, too. 4. Adapt restaurant demo data Adapt slots of Table Booking appointment to match restaurant-like hours: bookable every 30 mins, open between wednesday and sunday included at night, and with a lunch service at noon on wednesday and on the weekend. Also update the duration of the appointment to 2 hours. Add a question on dietary preferences. Call the location to Bistr-Odoo and make it a company. Also, for other demo data types in the appointment module, set videoconference link to False. Task-3593599
Resolved issues and error corrections
New mailing lists are now kept private unless someone chooses to show them in subscription preferences. This prevents audiences from seeing or subscribing to lists that were not intentionally published.
Original PR description
Purpose: - Changed the default value of 'Show In Preference' (is_public) field from true to false for preventing the automatic publishing of mailing lists. Task-3594678
This fix resolves an error that occurred when users tried to remove recurring products and recurrence settings from a quotation that had already been sent. Previously, the system would raise an error and prevent saving the changes. Now users can successfully remove recurring products from sent quotations without encountering errors.
Original PR description
### Version 16.0 ### Steps to reproduce: 1. Create a sale order with a non-recurring product. 2. Click on the send by email button then send email. 3. Add recurring product and recurrence in the sale order and save it. 4. Remove recurrence and recurring product from the sale order, then click on save manually. ### Issue: Error raised after removing both recurring products and recurring in quotation send state and not able to save the record. ### Cause: While saving the sale order, the recurring product is not deleted from the database, it is only removed from the UI. ### Solution: While updating the record, it does not check for recurrence and recurring products in the quotation sent state. (fixed point-4) task-3501381 Forward-Port-Of: odoo/enterprise#51659 Forward-Port-Of: odoo/enterprise#48277
Fixed the quick create view for field service tasks to properly display customer and worksheet template fields while hiding the project field. This ensures users can quickly create tasks with the relevant information visible without unnecessary project selection, improving the task creation workflow for field service operations.
Original PR description
In the field service task when we create a new task through quick create view, the project_id field is there that shows the current project and through the project sharing, customer and worksheet template fields are not visible when the project is "field services". this PR ensures that when the field services project is there, customers and worksheet template fields are visible in the quick create view and hide the project_id field. task-3247213 Forward-Port-Of: odoo/enterprise#52511 Forward-Port-Of: odoo/enterprise#39539