Wednesday, February 26, 2025
11 changes · master
Enhancements to existing features
This update removes unnecessary styling overrides from the web interface code. It simplifies maintenance while keeping the visual appearance unchanged for users.
Original PR description
This commit removes '!important' from scss rules where it is not useful. This was wrongly added from the beginning, and it can safely be removed without having any visual impact.
Partner address state fields now export in the same simple name format expected during import. This reduces confusion and helps users move contact data in and out of Odoo without manual cleanup.
Original PR description
PURPOSE Allow import/exports of 'state' fields on res.partner records. SPECIFICATION: When the user exports a `state(state_id)` field, the formatting does not match the formatting for the import. Export Format: California (US) Import Format: California Task-2745728
Live chat-related settings now appear in their own dedicated section on the user profile page instead of being mixed with general profile fields. This makes profile management clearer and helps users quickly find settings related to live chat.
Original PR description
Current behavior before PR: Live chat fields were mixed with other fields under the 'My Profile' page Desired behavior after PR is merged: Live chat fields are now displayed in a separate, dedicated section within the 'My Profile' page Task:[4410542](https://www.odoo.com/odoo/my-tasks/4410542) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update streamlines how Odoo manages database constraint checks during module installation and setup. It reduces unnecessary internal transaction checkpoints, which can improve consistency and performance while keeping responsibility for transaction handling in the right place.
Original PR description
Align how functions in methods in `tools/sql.py` work: the caller is responsible of managing the state of the transaction, therefore we stop creating savepoints at every call to some functions. We refactor the callers to create the necessary savepoints. This is mostly done by using `Registry.post_constraint` which tries to apply the constraint, and on failure, retries at the end of the installation. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo now loads only the specific command file needed from an add-on instead of loading the whole add-on, reducing startup overhead and avoiding unnecessary side effects. The proxy token generation tool used by IoT hardware for Egyptian electronic invoicing has been moved into the hardware drivers area where it belongs.
Original PR description
- We now load the `addons/{addon}/cli/{command}.py` file instead of `addons/{addon}` to load addons commands. See this [TODO](https://github.com/odoo/odoo/blob/18.0/odoo/cli/command.py#L52) here,…
- We now load the `addons/{addon}/cli/{command}.py` file instead of `addons/{addon}` to load addons commands.
See this [TODO](https://github.com/odoo/odoo/blob/18.0/odoo/cli/command.py#L52) here, that calls for loading less stuff when loading addon commands. The loaded module will be put under `sys.modules[f"odoo.cli.{module}"]` anyway so addons modules will just keep on working as it did before.
- `genproxytoken` is a command that relates to the `hw_drivers` module, for the `l10n_eg_edi` localization (USB key signing kit for Egyptian EDI). The command is only used [in the Windows setup](https://github.com/odoo/odoo/blob/ac712610c72a84f6292fb46e45fef998b0da79f6/setup/win32/setup.nsi#L310) by the Odoo IoT box to write a hex key in the config. The key will be read by [this code](https://github.com/odoo/odoo/blob/ac712610c72a84f6292fb46e45fef998b0da79f6/addons/hw_drivers/iot_handlers/drivers/L10nEGDrivers.py#L27) in `L10nEGDrivers` to communicate with the USB key.
The `genproxytoken` can then be moved to the `hw_drivers` module, given that **we don't load the entire module** as we are doing now. The `hw_drivers` module will start doing things (like requiring `sudo` system access) as soon as it is imported.
*(There is no other actual `addons_command` in `master` at the moment than `genproxytoken`, so we don't have much to maintain.)*This change stores country-specific accounting report translations directly in the report configuration XML instead of separate translation files. It should simplify localization workflows and make translation management more consistent across Odoo modules.
Original PR description
instead of the pofiles for report lines which should typically only be in the languages needed for that country anyways. This would allow to treat po/pot files for l10n in the same way as the other modules. Which would mean only one Transifex project or whatever system, the system would be the same. 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
This update streamlines how several Odoo areas handle database checkpoints during sensitive operations. It reduces unnecessary internal processing and helps keep point of sale, Indian e-invoicing, two-factor login emails, and website profiles more reliable without changing day-to-day user workflows.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The self-ordering point of sale feature now creates shorter links for table ordering. This makes links easier for restaurants to share with customers and improves the ordering experience.
Original PR description
In this commit we add the `link_tracker` module as a dependency in
`pos_self_order` in order to create shorter links for the table ordering
feature.
Task: 4575936
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update adjusts how project task filters are optimized behind the scenes. It helps keep searches and filtering reliable and efficient as the underlying Odoo system evolves, without changing day-to-day workflows for users.
Original PR description
Adapt usages of `Domain._optimize`. task-3864512 odoo/odoo#190922
The sales order preview in the customer portal now hides the taxes column when AvaTax is active. This avoids showing tax details that are calculated through AvaTax, making portal previews clearer and less confusing for customers.
Original PR description
Adding a visibility condition for Avatax not being enabled to the taxes column in portal view of sales orders. task: 4423974
This update keeps the rental sales app aligned with a related change in sales order routing. It updates internal tests so the system continues to validate rental sale behavior correctly after the route field structure changed.
Original PR description
To adapt for the changes in odoo/odoo#166512, the tests that use the old field `route_id` on `sale.order.line` (now `route_ids`) are modified accordingly. Task-3563242