Wednesday, February 26, 2025
18 changes · 18.0
Resolved issues and error corrections
Several spreadsheet dashboards now include missing or misplaced formulas, so totals and metrics display correctly. This improves reliability for invoicing, timesheets, warehouse valuation, and ecommerce reporting without changing workflows.
Original PR description
All these issues were spotted using the new irregularity map feature (task 4357729) Task: 4387232 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Deleting a product attribute value that is not used by any product now removes it instead of simply archiving it. This keeps product configuration data cleaner and avoids leaving unnecessary inactive values in the system.
Original PR description
**Avoid archive attribute value when is not been used** Impacted versions: - 18.0 and later ### Steps to reproduce: 1. Create a new attribute with attribute values (ex: value 1) 2. Delete the attribute value 3. Confirm that the attribute value still exists (archived instead of deleted) ### Current behavior: - Attribute value is being archived ### Expected behavior: - Attribute value must be deleted Task: [4551094](https://www.odoo.com/odoo/my-tasks/4551094)
The restaurant point-of-sale test was updated to check for the bill's unique code and portal link instead of relying on a QR code check. This helps keep automated testing aligned with what customers and staff actually see, reducing false failures in quality checks.
Original PR description
In this commit: === - Updated tour test to verify the presence of both the unique code and portal URL instead of a QR code check. runbot: 111424
The Point of Sale screen saver now blocks certain user actions, such as clicks, from reaching the active sales screen behind it. This prevents accidental actions like adding products when a user wakes or interacts with the screen saver.
Original PR description
When the user is on the screen saver, we do not want to propagate some events like click so that his click does not do something unexpected in the POS (like adding a product or something). This commit adds a check in the onAlive method of the pos app to stop the event propagation of some events when the screen saver is active. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents an error when users create an exchange return from a receipt that has no origin reference. Odoo now uses a safe blank fallback, allowing the return process to complete normally instead of showing a traceback.
Original PR description
Currently, a traceback is occurring when the user tries to create an exchange return without giving the origin value in picking. To reproduce this issue: 1) Install `purchase_stock` 2) Create a stock…
Currently, a traceback is occurring when the user tries to create an exchange return without giving the origin value in picking. To reproduce this issue: 1) Install `purchase_stock` 2) Create a stock picking with operation type as `receipts` and don't give the `origin` value 3) Add a product in operation that contains vendor records in the product 4) `Validate` the product and click the `return` button to open a wizard 5) Update the qty to return and click the `Return for Exchange` button Error:- ``` TypeError: sequence item 0: expected str instance, bool found ``` This traceback occurs from the line below because we are getting the origin value as False from the procurements. https://github.com/odoo/odoo/blob/949ed6f30f539dd787594511751bda0e714a5409/addons/purchase_stock/models/stock_rule.py#L119 The origin value of this procurement is directly taken from the origin value of picking. The above traceback occurs because the user didn't provide the origin value in picking. We can resolve this issue by providing a fallback value of an empty string if there is no origin in picking. sentry-6316652948
Point of Sale receipts no longer show lot or batch information twice when an order includes lot-tracked products. This keeps receipts clearer for customers and avoids confusion at checkout.
Original PR description
Before this commit, when validating an order containing a product tracked by lot, the lot information would appear twice on the receipt. opw-4509159 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue in Sales Loyalty where a loyalty card could not be used unless it had an associated rule. Businesses can now honor valid loyalty cards more reliably, reducing checkout or order processing friction for customers and staff.
Original PR description
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
Public visitors can no longer see the option to add reactions to portal chatter messages. This prevents an error that occurred when logged-out users tried to react to customer reviews or similar messages.
Original PR description
Since [this commit], the backend chatter can be used on the portal. Public users were able to attempt adding reactions to messages, which led to an error. This commit hides the add reaction button for public users to prevent this issue. Steps to reproduce the issue: 1. Install website_sale module. 2. Go to a website page product. 3. Open the edit mode, click on the product. 4. Activate the Rating option and save the page. 5. Scroll down the product page and add a customer review. 6. Log out and go to the product page. 7. Try to add a reaction to the review. => Traceback. [this commit]: https://github.com/odoo/odoo/commit/368eb78a9cedfce0802b64fd2782e1c018541e40 opw-4436633
This update corrects how pickup delivery configuration rules are checked so they respond to the right setup changes. It helps prevent incorrect validation behavior when businesses configure in-store pickup options for online sales.
The message reaction menu now uses an X icon instead of a trash icon when removing a reaction. This better communicates that only the reaction is being removed and makes the button behavior feel clearer and less alarming.
Original PR description
Before this commit, icon to remove a message reaction in message reaction menu was trash rather than "X". This gave a wrong impression that this button has more implication that it really is. This commit replaces it with a "X". Also adapt slightly the style to have reduced visibility on item hover and full visibility when the button is hovered. This makes it more natural to click on the button. Task-4589558 Before  After 
This fix restores the ability to drag and drop fields in Odoo Studio even when those fields are present only because they are used in view rules or expressions. It helps users adjust Studio layouts more reliably without fields becoming unexpectedly locked in place.
Original PR description
this follows commit 0f9d262fb1de2ea4355fc3a6f6d0152e67ccd37e which forgot a few things to enable drag/dropping for fields that are in the view but because of their automatic addition by ir.ui.view when the field is used in an expression. opw-4578365
Removing a Studio-created field from employee contracts no longer causes salary contract calculations to crash. This keeps contract management stable while still allowing more deliberate custom extensions.
Original PR description
…cies Add a boolean field on hr.contract via studio. Then remove that field from the model. That last operation crashes because _compute_final_yearly_costs has a dynamic depends on it which take many fields of the model. While we don't want to exclude every custom fields (starting with "x_") to continue to allow sufficient extension points we do exclude studio fields specifically, because those are not meant to be used in a complex compute method. After this commit, there is no crash opw-4503855
Several spreadsheet dashboards now include missing or corrected formulas, ensuring totals and tables display the right business information. This improves reliability for CRM, purchasing, stock, and subscription reporting dashboards without changing user workflows.
Opening the “Info and tag” panel from a document preview no longer triggers an error when the selected document is not available on screen. This keeps the Documents workflow stable and avoids interruptions for users managing document information.
Original PR description
### Issue: - When we select a document and click on the "Info and tag" button, a traceback is thrown. ### Steps to reproduce: - Open the documents app - Preview a document - Click on the "Info and tag" in the "Action" dropdown menu - a traceback is thrown ### Solution: - When we click on the "Info and tag" button, `onToggleChatter` is called, in it we try getting the element of the selected document and scrolling to it, if the `querySelector` returns null, and we try to call `scrollIntoView` on it, a traceback is thrown. - we fixed this by adding the optional chaining operator `(?.)` to safely call scrollIntoView only if querySelector returns an element. - although not directly related to the issue, we also added a small check to disconnect any previous `MutationObserver` before creating a new one. OPW-4586089
The bank reconciliation manual operation tab has been adjusted to make information easier to scan. Extra spacing was removed and related details were grouped more compactly, improving usability for accounting teams.
Original PR description
This commit will do a backport of: https://github.com/odoo/enterprise/commit/eaf8361f44208346c20e4c50c2d9914ab2d4f3f5 and also remove some margin to have a more compacted view and will put most of the information in one div. task:4542756
The Sign module's automated check was updated to match the current completion message shown after signing a document. This prevents false test failures and helps keep the signing workflow reliable for users.
Original PR description
Before this commit, the runbot would fail with Script Timeout when executing the `shared_sign_request_tour` tour. The main problem was the title of the modal being changed from "All done!" to "It's signed!" without updating the tour itself. The secondary problem was the limitation added in the tour of clicking a button inside a modal: this one is not allowed anymore. After this commit, we removed the 'Download button' trigger in the tour as it is not allowed anymore and updated the string for the correct modal title in the tour, from "All done!" to "It's signed!". runbot-98514
Twitter account metric and stream refresh failures caused repeated error-level logs when the external service returned authorization-related responses. The change downgrades these messages to warnings, reducing unnecessary terminal and monitoring noise while still keeping administrators informed.
Original PR description
Currently, the error message occurs when failed to fetch the account metrics.
```
Error Message: Failed to fetch the account (2) metrics: '{\n \'title\':
\'Unauthorized\',\n \'type\': \'about:..
```
This error message occurs when fetching social stream posts and refreshing statistics, so replace a logger error message with a logger warning message at [1], [2] to prevent more error logs in a terminal.
link [1]: https://github.com/odoo/enterprise/blob/6e581b9dbf0c141e212f1641fc9cb37a05140cff/social_twitter/models/social_live_post.py#L48
link [2]: https://github.com/odoo/enterprise/blob/af2db721417794ccda73ab83da388a782c94a911/social_twitter/models/social_stream.py#L91
sentry-4536687715Followup report title and columns were not added to `.pot` file for translation
Original PR description
Followup report title and columns were not added to `.pot` file for translation