Thursday, December 14, 2023
6 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