Tuesday, August 5, 2025
8 changes · saas-18.2
Resolved issues and error corrections
Barcode scanning with GS1 rules now handles invalid date values without causing an application error. This prevents interruptions for users when a malformed barcode is scanned and keeps the workflow running smoothly.
Original PR description
**Current behavior:** Traceback if an invalid date is input in the barcode scanner where a gs1 rule is matched and expects a numerical date representation. **Expected behavior:** No traceback **Steps to reproduce:** 1. enable gs1 nomenclature, scan a barcode from the main menu like: `15123456` -> `15` should preceed a date like: 'yy-mm-dd' opw-4825538 Forward-Port-Of: odoo/odoo#217663
This change splits lengthy list-editing tests into smaller test cases so they are less likely to time out on slower automated test systems. It does not change customer-facing behavior, but helps keep validation pipelines more stable and reduces false failures.
Original PR description
Those tests were too long to be grouped in a single `it` as it would sometime hit the time limit when the runbot was too slow. Putting each of them in separate `it` significantly reduces the likelihood of the issue to occur. runbot-230411 Forward-Port-Of: odoo/odoo#221197
Sending a gamification challenge report in Individual Goals mode no longer fails when optional display text is missing. This keeps challenge reporting reliable for users and avoids an error that blocked email template generation.
Original PR description
[FIX] gamification: prevent key error exception
To reproduce:
=============
1. Navigate to Settings > Gamification Tools > Challenges.
2. Create a new challenge or open any existing active challenge.
3. Set the Display Mode to Individual Goals, and then click on Send Report.
Problem:
=========
Accessing line['full_suffix'] directly raised an exception
when the key was missing, causing the template rendering to fail.
https://github.com/odoo/odoo/blob/cd5f29b8b50ef4228be8f58a02bb328548208f77/addons/gamification/data/mail_template_data.xml#L175C1-L175C92
Solution:
=========
Use line.setdefault('full_suffix', '') to ensure the key exists with
a default empty string, preventing errors and allowing the template
to render smoothly.
opw-4909617.
Forward-Port-Of: odoo/odoo#219018The HR skills test tour now includes the missing step to open the Resume tab. This prevents a specific automated test from failing when Swiss payroll accounting is installed without demo data, improving release reliability.
Original PR description
step to reproduce: 1. install l10n_ch_hr_payroll_account 2. without demo 3. run test SkillsTestUI.test_ui added missing step is to go to resume tab in the tour build_error_181683 Forward-Port-Of: odoo/odoo#221364 Forward-Port-Of: odoo/odoo#214578
Fixes an issue where setting a remote work location from the calendar could fail if the date field was cleared. The calendar setup now handles a missing date safely, preventing interruptions for employees and HR users.
Original PR description
Currently, an error occurs if the date is missing when setting a work location via the calendar. **Steps to reproduce:** - Install the `hr` module. - Activate the **Remote Work** feature from the…
Currently, an error occurs if the date is missing when setting a work location via the calendar. **Steps to reproduce:** - Install the `hr` module. - Activate the **Remote Work** feature from the employee settings. - Open the Calendar (Month view), hover over a date, and click **Set Location** (or location icon). - Remove the date in the wizard and unfocus the field. **Error:** `AttributeError - 'bool' object has no attribute 'strftime'` This error occurs when the `date` field is `False`, and `_compute_day_week_string` attempts to call `strftime()` on a boolean value - [1]. After addressing the compute function issue, saving the record without a date results in another issue during employee location setup, where `weekday()` is called on a boolean - [2]. [1] - https://github.com/odoo/odoo/blob/e787d0a642bd710a8a80f8abc660c3ff4a385740/addons/hr_homeworking/wizard/homework_location_wizard.py#L25 [2] - https://github.com/odoo/odoo/blob/e787d0a642bd710a8a80f8abc660c3ff4a385740/addons/hr_homeworking/wizard/homework_location_wizard.py#L35 This commit prevent the computation if the `date` field is not set. Sentry - 6658596690 Forward-Port-Of: odoo/odoo#213308
This fix ensures Point of Sale automated tests can run correctly without an internet connection. It helps maintain stable quality checks for the Point of Sale module and reduces disruption during development validation.
Original PR description
Ensure hoot tests are correctly running offline. rb-error: 226900 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A regression test was added to ensure analytic distribution is correctly applied to early payment discount lines during bank reconciliation. This helps prevent accounting reports from missing analytic allocations when customers pay invoices early with a discount.
Original PR description
This commit adds a test for the following issue: - Configure an early discount payment term (e.g., 2/7 Net 30). - Configure the analytic distribution model with the account used when a discount is granted (e.g., 657000 on the BE fiscal position). - Create an invoice using the early discount payment term. - On bank reconciliation, register the transaction taking into account the early payment discount (e.g., 98% of the invoice amount_total). On the third line with account 657000, corresponding to the early discount payment, the analytic distribution model does not apply. In contrast, when manually registering a payment for the invoice, the analytic is correctly applied. community pr: https://github.com/odoo/odoo/pull/217933 opw-4868986 Forward-Port-Of: odoo/enterprise#90641
Fixed an issue where editing the placeholder text for a signature field could overwrite the field popup title in reusable signing templates. This helps keep template fields clearly labeled and prevents confusion when the template is used again.
Original PR description
### Steps to reproduce:
- Create a document using a sign template.
- Add a new field or modify the placeholder of an existing one.
- Validate the changes.
- Notice title is replaced by the value entered in placeholder.
### Issue:
After editing a template that has already been used in a signed document, the title of each sign item popup is unexpectedly replaced with the value
entered in the placeholder for that item. This corrupts the template and results
in incorrect title of sign itme being shown when the template is reused.
### Cause:
The issue occurs because the title was being updated with the placeholder of that particular sign item.
### Solution:
Added a prop for title of sign item in SignCustomPopover so that we can make the title as name of the sign item or the type like ('Name', 'Text', 'Signature') rather than the placeholder of the sign item.
---
task-4872963
Forward-Port-Of: odoo/enterprise#91551
Forward-Port-Of: odoo/enterprise#90348