Wednesday, April 23, 2025
7 changes · saas-18.2
Resolved issues and error corrections
Invoice reporting now handles cases where the total quantity is zero when calculating Average Price. This prevents an error in graph or pivot analysis and shows a safe value instead, keeping invoice reporting usable for edge-case invoices.
Original PR description
Currently, an error occurs when the sum of the quantity is zero, and user analyzes invoice data using the `Average Price` measure. **Steps to produce:** - Install the account module. - Navigate to `Invoicing > Customers > Invoices > New`. - Add required fields and set `quantity to zero` and confirm the invoice. - Navigate to `Reporting > Invoice Analysis`, Switch to `Graph or Pivot view` and set measure to Average Price. **Error:** `DivisionByZero: division by zero` **Root Cause:** At [1], the `_read_group_select` method for computing average price, divides the sum of price_subtotal by the sum of quantity. If sum of the quantity is zero, it leads to a division by zero error. [1] https://github.com/odoo/odoo/blob/97c2381aaeb1cca56288a1cca3c8359ea712ab6e/addons/account/report/account_invoice_report.py#L165 This commit ensures that the average price calculation safely returns 0 when the total quantity is zero. Sentry - 6358566076
This fixes an issue in the Mail app where removing email recipient tags with the keyboard could trigger an error. Users can now manage recipients in the email composer without interruptions.
Original PR description
[This commit] used `record.id` as if they were `record.resId` resulting in an issue when trying to delete a tag. How to reproduce: - Use the chatter to send an email using the full composer - add some email recipients - try to remove them using backspace -> traceback This fix correctly renames properties that should be `resId`, and removes the `id` override (`record.id` is a value specific to the relational model from `/web/`). [This commit]: https://github.com/odoo/odoo/commit/1f34abc173f07b6d20c08a27ec57c7025cb20562 task-4731774 Co-authored-by: Damien Abeloos <abd@odoo.com> Co-authored-by: Kadam Darji <kmdi@odoo.com>
Receipt lines in Point of Sale now display with more consistent spacing when they include notes or lot/serial numbers. This removes an awkward margin and helps printed receipts look cleaner and easier to read.
Original PR description
- Remove weird margin on receipt for order lines that have a note or a lot/serial number - Adjust gap to align with rest task-id: 4680438 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes an issue where UAE invoice documents could show the word "Invoice" twice when printed, previewed, or emailed. UAE companies now see the correct "Tax Invoice" title, making customer-facing documents clearer and more professional.
Original PR description
In a previous commit 1accf51091229811a0b0c1d2356a56e5f7fde44c, we were concatenating the invoice title instead of replacing it. This caused the word "Invoice" to appear twice on printed, previewed, or emailed invoice documents when using the UAE localization. This commit correctly replaces the title using XPath. For companies based in the UAE, the title now shows as "Tax Invoice" without duplication. OPW-4722229 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users who only have access to settings can now open the settings page without encountering an error. The change safely retrieves the default journal in the background, improving reliability for administrative workflows.
Original PR description
When opening settings as a user with only access to settings results in a crash because the user does not have access to 'Journal'. Covered by `test_settings_access` in base when installing "test_full_discuss". The solution is simply to query for the default journal using sudo.
The attendance planning Gantt view now shows only one day, week, or month at a time, depending on the selected scale. This keeps the view focused and prevents users from seeing an overly broad or confusing date range.
Original PR description
In this PR we modify the gantt_model to only display 1 day/week/month at a time
The restaurant preparation display tests now wait for order synchronization before moving to the next step. This prevents automated checks from running too quickly and failing before the server has finished responding, improving release validation reliability.
Original PR description
Since we didn't wait for synchronization when clicking on the order button, tours are too fast and the response from the server isn't received in time. This commit adds a wait to ensure that the synchronization is complete before proceeding with the next step. Runbot: 181579