Daily updates from Odoo
Wednesday, October 23, 2024
13 changes
6 changes
Enhancements to existing features
Accounting reports can now support custom grouping labels that are not tied to a standard business record. This helps teams create clearer specialized report lines, such as opening balance rows, while still allowing relevant drill-down actions where needed.
Original PR description
This commit adds the possibility to set string grouping keys in custom engines. These groupings won't be linked to a model and requires custom handling via a post_processor. Another feature added is a custom caret_builder that enable us to add custom caret identifiers to a specific grouping_key
This update makes it simpler to customize accounting report screens by letting custom components reuse the original layout automatically. It reduces the setup needed for tailored reporting views, helping implementations adapt reports with less duplication and maintenance.
Original PR description
This improvement allows to use a custom component override without defining a template. The custom component will take the template of the component it extends by default.
This update replaces an older way of switching records between active and archived states with the newer standard approach across several Odoo apps. The change helps keep behavior consistent and easier to maintain, with minimal direct impact for everyday users.
Original PR description
odoo/odoo#183691 odoo/documentation#11261 task-3983933
Appointment setup screens are easier to use with clearer field labels for questions and answers. Opening linked resources in a dialog helps users review or edit them without leaving the appointment form.
Original PR description
This commit makes the following changes to the appointment.type form views - The form view will open as a dialog when we click on the resources filled in the resource_ids field. - Change the label of `question_required ` and `answer_ids` fields. Task-4256018
Large spreadsheets now load much faster by avoiding unnecessary server-side processing of already prepared data. This reduces waiting time for users opening spreadsheet documents and lowers server resource usage, especially for very large files.
Original PR description
Server-side load time for a 16.7Mb spreadsheet: **before: 606ms** (`join_spreadsheet_session`) **after: 83ms** (-86%!) (new `/spreadsheet/data/<...>` controller) Previously,…
Server-side load time for a 16.7Mb spreadsheet: **before: 606ms** (`join_spreadsheet_session`) **after: 83ms** (-86%!) (new `/spreadsheet/data/<...>` controller) Previously, `join_spreadsheet_session` returned a combination of: - The full spreadsheet snapshot (JSON file on the filestore) - Pending revision data (also serialized JSON, stored in a Char field) - Additional metadata These were combined into a Python dict and re-serialized into JSON for the response. This process is inefficient as it involved unnecessary parsing and re-serialization of already serialized JSON data. With this commit, we handcraft the json response body, avoiding the need for parsing and re-serializing large json objects, resulting in significant performance improvements in both CPU and memory. To have control of the response body, we now have to use an http controller instead of an RPC method. We could also have sent the raw/serialized data from `join_spreadsheet_session` but then it would be serialized json over json which has several drawbacks: - reduces client-side debuggability - introduce a lot of additional escape characters (e.g. `\"`) - the client would need to explicitly parse the nested json With this solution, the client receives a clean, valid json content type Alternative idea: we could stream the snapshot file directly from the file store to be even more efficient. But then we would need to load the additional metadata and revisions with another http request. As those two requests would not be executed as part of the same transaction, it would come with its own share of issues.
The Field Service “My Tasks” kanban view now shows task dates in the same format as other task menus, such as “All Tasks.” This makes scheduling information easier to compare and reduces confusion for users switching between views.
Original PR description
Currently, the date of tasks in kanban view of 'My Tasks' menu is only showing the start date of the task. But we would like to use the same display as in other menus (e.g. 'All Tasks') to remain consistent. task-4193529
6 changes
Enhancements to existing features
Italian partners now automatically use FatturaPA as their preferred electronic invoicing format. Spanish partners correctly default to Facturae when a certificate exists, improving invoice setup while avoiding errors when no certificate has ever been configured.
Original PR description
…S/IT Add FatturaPA as the preferred EDI format set by default on Italian partners. Fix the preffered EDI format of Spanish partners to be correctly computed to Facturae. task-no
The manufacturing order overview no longer shows the MO Cost column once a production order is marked as done. This keeps completed production reports focused on relevant information and avoids exposing cost details after completion.
Original PR description
This commit hides the MO Cost column of MO overview report if the underlying MO is done. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The point of sale now selects an order line only when a cashier has just added a product, and clears selections when reopening orders from areas such as tables, tickets, or payments. This makes the numpad and order editing behavior more predictable, reducing accidental changes during checkout or restaurant workflows.
Original PR description
-Select order line only when I've just added a product to cart -Ensure that no order line is selected anymore when opening an order (from floorplan, table selector, ticket screen, payment screen) -Adapt tours tests to match this new behavior and limit the use of 'inLeftSide' to avoid going uselessly back and forth to the product list in mobile task-id: 4167563 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 web interface now makes tag editing behave more consistently by limiting this option to form views and giving it priority over color editing when both are configured. Users also get clearer visual feedback through a pointer cursor when tags can be edited.
Original PR description
This commit slightly changes the behavior of the m2m edit_tags option so that it will only be effective in form view (like tag color edition) and also so that it will override color edition when color_field is set. It also adds visual feedback with the pointer style when the edit_tags option is set. task-3961350
Calendar now avoids creating extra settings records for portal users when the needed relationship is not available. If no settings are found, it uses the default privacy from the standard user template, helping keep user data cleaner and behavior consistent.
Original PR description
This commits forbids creating res_users_settings records when the inverse is not defined. During the computation, if the settings are not found, we fallback in the default privacy of the Default User Template. To be discussed with P.O. and Team Leader. task-4260834
The point of sale UrbanPiper integration now creates the store location in Atlas when a user selects Create Store. This reduces manual setup work and helps keep store information aligned between Odoo and Atlas.
Original PR description
After this commit: === - When the user clicks the Create Store button, the location is now created in Atlas. task-4270144
1 change
Enhancements to existing features
This update enhances the accuracy of Early Payment Discount (EPD) reconciliation in countries with cash rounding practices. Previously, slight overpayments weren't recognized, leading to manual adjustments. Now, accountants can customize tolerance levels, ensuring correct discount recognition and streamlining reconciliation workflows.
Original PR description
In countries using extensively cash roundings, invoices having a early payment discount can usually be paid within a cash rounding tolerance. e.g. with a cash rounding of 0.05, and an early payment discount of 5%, for a total amount of 868.25, a discount amount of 824.84 will be stored. If a customer pays slightly more (eg 824.85), the early payment will not be recognized in the reconciliation widget, resulting at best in a partial payment that will require extra work for the accountant to write off properly for early payment discount. By allowing to customize the comparison between open amount and total discount, it allows to implement any kind of tolerance in custom modules without breaking anything in the actual reconciliation mechanism. OPW-3985470 Forward-Port-Of: odoo/enterprise#68523