Tuesday, June 24, 2025
14 changes · 18.0
Resolved issues and error corrections
A new automated test checks that restaurant table booking and release behavior works as expected in Point of Sale. This helps prevent issues where booked table orders might not be properly sent to the server, improving confidence in restaurant operations.
Original PR description
Following this commit: 9448836cb0307161d829f28bda0bdb5bf50f3a10 This commit adds a test to ensure that the booking and release table functionality works correctly in the POS Restaurant module. The test verifies that when a table is booked the order is correctly sent to the server.
This fix prevents the Point of Sale screen from failing when an order line is quickly added and then removed, a situation that can happen with loyalty features. It improves cashier reliability by avoiding rendering errors during normal sales workflows.
Original PR description
Before this commit, if an order line was added and then removed (for example, by the loyalty module), it could cause errors during rendering due to missing required props for the orderline. This scenario is common with the loyalty module. opw-4724428 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an error that could stop users from printing picking operations for deliveries containing kit products when packaging was selected on one line. The change helps keep warehouse delivery documents reliable for sales involving packaged kits.
Original PR description
Step to reproduce : - Create a quotation with 2 products using kits - Use the delivery smart button - Change one of the line to use a packaging - Print the picking operation Problem: ZeroDivisionError: float division by zero [opw-4824380](https://www.odoo.com/odoo/project.task/4824380) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website eLearning course cards now correctly show the “New Content” ribbon when recently published content has been added. This helps visitors quickly spot updated courses and improves visibility for fresh learning material.
Original PR description
Restore the "New Content" ribbon (activated via page options) which should be displayed on the course card when a new published content has been added during the last 7 days. The ribbon isn't displayed because it's declared in a "t-field" element which replaces its content to display the field at rendering. Task-4852463 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where images copied and pasted inside the HTML editor could disappear if they were stored directly in the copied content. The editor now preserves those embedded images correctly, reducing broken content when users paste rich text.
Original PR description
Problem: When copying content that includes an image with a `src` in base64 format, the origin is incorrectly prepended to the `src`, resulting in a broken image on subsequent paste. Cause: The logic that prepends the origin doesn't exclude base64 images, causing the final `src` to be invalid. Solution: Skip appending the origin if the `img.src` is already in base64 format. Steps to reproduce: 1. Copy an image (with base64 `src`) into the editor. 2. Copy the image again from within the editor. 3. Paste the image. → The image is not shown due to incorrect `src`. opw-4872676 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes an error that could stop users from printing Picking Operations reports for kit products when packaging was removed from a component. This keeps delivery paperwork available and avoids disruption during sales and warehouse processing.
Original PR description
**Step to reproduce:** 1. Install mrp & sales module. 2. Ensure Product Packaging is activated for Inventory. 3. Create a product with a Kit-type BOM that includes two components. 4. Assign packaging…
**Step to reproduce:**
1. Install mrp & sales module.
2. Ensure Product Packaging is activated for Inventory.
3. Create a product with a Kit-type BOM that includes two components.
4. Assign packaging to the product.
5. Create and confirm a Sales Order for this product.
6. Open the Delivery Order generated from the Sales Order.
7. Remove the packaging from one of the components of the kit in the delivery order.
8. Try to print the Picking Operations report.
**Issue:**
When printing the Picking Operations report, a
`ZeroDivisionError: float division by zero` occurs during the
computation of the `product_packaging_qty` field on stock.move.line.
**Cause:**
The `_compute_product_packaging_qty` method performs a
division operation that assumes packaging is present on the move:
https://github.com/odoo/odoo/blob/c1d88949a3c305b425ab3a862741ebab7b7cd344/addons/mrp/models/stock_move.py#L101
When the packaging is removed, `move.product_packaging_id` becomes
falsy, and accessing `.qty` returns 0. This leads to division by zero.
**Solution:**
To fix this, the computation of product_packaging_qty is avoided for kit
component move lines that do not have packaging assigned.
This ensures that the computation only applies to valid lines with the packaging.
**opw-4805679**Internal users without sales or event-specific permissions can now register for events that include multiple-choice questions. This prevents a server error during registration and adds test coverage to help keep the flow reliable.
Original PR description
A global rule for base.group_user is missing for the event.answer.model. This commit adds it. A test has been added to check that internal users have all the permissions required to register for events. Reproduce: The administrator must create a new user and let empty the permissions for sales and for events. When trying to register for an event that has questions with options, this new user will trigger a 500 error. task-
Recent Google Calendar synchronization changes were rolled back after reports that synced users could see duplicated events. This urgent reversal prioritizes calendar reliability while the underlying issue is investigated further.
Original PR description
This commit reverts odoo/odoo#208302, odoo/odoo#188848 and odoo/odoo#192876. Issues have been found on the synchronization with Google related to the duplication of events for synchronized users. As it is an urgent matter and these two fixes were merged too close to prior of the first problem report, we're dropping them for additional investigation. task-4873605
Canceling the payment that created a third-party check now also updates the check’s status, so it no longer incorrectly appears as "In Hand". This keeps payment and check records aligned and helps avoid confusion in check tracking workflows.
Original PR description
Fixed an issue where, when canceling a payment that originated the third-party check, the check remained in "In Hand" status when it shouldn't. Now, when the payment is canceled, the check status is…
Fixed an issue where, when canceling a payment that originated the third-party check, the check remained in "In Hand" status when it shouldn't. Now, when the payment is canceled, the check status is properly updated to reflect its cancellation, ensuring consistency in the workflow. **Description of the issue/feature this PR addresses:** This PR addresses an issue where a third-party check remains in the "In Hand" status even after the origin payment is canceled. **Current behavior before PR:** A customer payment is created with a third-party check. The payment is confirmed, then moved to draft and canceled. After cancellation, the third-party check remains in the "In Hand" status in the third-party checks menu, even though the origin payment has been canceled. **Desired behavior after PR is merged:** When the payment is canceled, the check will no longer remain in "In Hand" status in the third-party checks menu after the payment is canceled. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update refreshes the spreadsheet component and fixes several issues that could affect daily spreadsheet work. Users should see more consistent behavior for data validation rules, pivot tables with blank values, and formatting copied across merged cells.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/a38db25af [REL] 18.0.35 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/a38db25af [REL] 18.0.35 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/000269c29 [IMP] demo: add clear action [](https://www.odoo.com/odoo/2328/tasks/) https://github.com/odoo/o-spreadsheet/commit/6dbaa3f6e [FIX] data_validation: preserve rule order when updating a rule [Task: 4863726](https://www.odoo.com/odoo/2328/tasks/4863726) https://github.com/odoo/o-spreadsheet/commit/ea088b06f [FIX] pivot: treat empty strings the same as blank cells [Task: 4889073](https://www.odoo.com/odoo/2328/tasks/4889073) https://github.com/odoo/o-spreadsheet/commit/a3a8e49d6 [FIX] paint_format_store: copy and apply merges on paste format [Task: 4179256](https://www.odoo.com/odoo/2328/tasks/4179256) https://github.com/odoo/o-spreadsheet/commit/28db4a786 [FIX] paint_format_store: update selection after pasting format [Task: 4807659](https://www.odoo.com/odoo/2328/tasks/4807659) https://github.com/odoo/o-spreadsheet/commit/efd5a396e [REF] clipboard: extract paste helpers to reduce duplication [Task: 4807659](https://www.odoo.com/odoo/2328/tasks/4807659) Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
This fix restores the visual highlighting of selected planning shifts after an underlying calendar behavior changed. It helps users continue to spot important shifts in the Planning calendar as expected.
Original PR description
Before this commit, the PlanningCalendarCommonRenderer override the eventToRender method but this method has been removed in parent class. This commit changes the method overriden to make sure the class is added when some shifts have to be highlighted.
A shop floor manufacturing test now waits for a component update before checking the result. This reduces false test failures and helps keep manufacturing workflows stable for future releases.
Original PR description
### Issue: The tour test_add_component_from_shop_foor_in_multi_step_manufacturing makes an assert on the value of an input before waiting for this input to be updated. runbot-build-error-226734
Paused timers now keep the correct elapsed time when they are resumed. This prevents inflated time entries and improves accuracy for users relying on timers for work tracking or billing.
Original PR description
The current implementation of the `startTimer` function incorrectly calculates the current time when the timer has been paused. For ex, if the timer started 24 hours ago and was paused 23 hours ago. Calling `startTimer` to resume the timerReactive component, would calculate the offset between the paused time and current time incorrectly. This change ensures that no extra time is added to the timer, when it is in a paused state, maintaining accurate tracking of elapsed time. opw-4658402 opw-4824616 opw-4829820
This fix ensures subscription lines that have already been invoiced keep their invoiced quantity even when related dates are changed. This helps prevent incorrect billing adjustments and keeps subscription revenue records consistent.
Original PR description
Backport of: - [ ] https://github.com/odoo/enterprise/commit/981665196f162df9702d471223e16edf5deb99d5