Friday, November 7, 2025
8 changes · master
Resolved issues and error corrections
This fix prevents the AI chat from crashing when a user has no timezone set in their profile. If no timezone is available, the system now uses UTC so users can continue composing emails with AI assistance without interruption.
Original PR description
Currently, an error occurs when opening the AI chat from the mail composer if the user's timezone has been removed. **Steps to Reproduce:** 1. Install AI and Purchase modules. 2. In the user's profile, remove the 'TimeZone'. 3. Open any purchase order and click on _Send PO_. 4. In the _Compose Email_ form, click on AI icon. **Error:** `AttributeError - 'bool' object has no attribute 'upper'` **Cause:** The issue occurs because `self.env.user.tz` returns False when the user's timezone is not set, causing an error when it tries to use `upper()` method on bool value. **Fix:** This commit fixes the issue by defaulting to the UTC timezone when the user's timezone is not set. **Ref:** https://github.com/odoo/odoo/blob/0f40ea82a1332f0e7168d861ad446b7316ab03de/odoo/addons/base/models/res_partner.py#L225-L228 sentry-6961379038 Forward-Port-Of: odoo/enterprise#98435
Archived reconciliation models are now hidden from the list of available options when matching bank transactions. This prevents users from accidentally selecting outdated or disabled rules and keeps the reconciliation workflow aligned with active settings.
Original PR description
Steps to reproduce: ------------------- 1. Install Accounting (with demo data). 2. Go to Accounting > Dashboard and open the "Bank" journal. 3. Click on any unreconciled line and open the dropdown menu. 4. Select “Manage models” and archive one of the reconcile models. 5. Return to the bank journal and open any unreconciled line. Issue: ------- Archived reconcile models are still shown in the available model list. Cause: ------ The [SQL query](https://github.com/odoo/enterprise/blob/6615de3100ac1192039a5f276df278c543f2fabb/account_accountant/models/account_reconcile_model.py#L47-L118 ) does not filter out inactive reconcile models. Solution: ---------- Add a condition to include only active models. opw-5189700 Forward-Port-Of: odoo/enterprise#98372
This fixes an issue where connecting an IoT Box could fail while creating its record if the version information was not yet available. The system now checks that the version is present before using it, helping ensure smoother IoT Box setup.
Original PR description
In order to avoid a traceback when creating the IoT Box record after connection, we need to ensure the version is set, before checking whether the first character is a "W". Forward-Port-Of: odoo/enterprise#98871
Philippine check printing now formats amounts with centavos correctly by removing the trailing "ONLY" when decimal amounts are present. The wording for decimal amounts was also adjusted to use lowercase "and", helping printed checks match local formatting expectations.
Original PR description
In phillipines, if any amount has centovas (decimal amount), the amount in words cannot contain 'ONLY' in the end. Additionally, changed 'And' -> 'and' for decimal amount. **task**-5155953 Forward-Port-Of: odoo/enterprise#98535
The mobile search panel now uses colors that fit dark mode better. This improves readability and visual consistency for users working in dark mode on smaller screens.
Original PR description
This commit adapts colors of search_panel for mobile in dark mode. | Before | After | |--------|--------| | <img width="904" height="1022" alt="image" src="https://github.com/user-attachments/assets/9136de22-3ce1-40e3-bb79-8f87c8ee2bf8" /> | <img width="372" height="653" alt="Capture d’écran 2025-10-29 à 08 37 39" src="https://github.com/user-attachments/assets/6aff402b-6dc8-46ce-8e2a-d55887374f51" /> | Requires: - https://github.com/odoo/odoo/pull/234361 task-5121027 Forward-Port-Of: odoo/enterprise#98248
The Planning app now handles missing employee data when opening an avatar popover, such as for archived employees. This prevents an error screen and lets users continue working without interruption.
Original PR description
Purpose of this PR: A guard has been added in the override of `get_avatar_card_data` to handle empty results and prevent traceback errors when data is missing. community PR: [odoo/odoo#231184](https://github.com/odoo/odoo/pull/231184) Forward-Port-Of: odoo/enterprise#98963 Forward-Port-Of: odoo/enterprise#98230
The employee salary offer button now shows all offers linked to the employee across every contract version, instead of only the currently displayed version. This gives HR users an accurate count and avoids missing offers when reviewing employee salary information.
Original PR description
Fix offers count shown in the smart button to show all offers of the mployee in all version, not just the version being displayed. Task-5082700
When a pay run is created from an employee payslip, its dates now automatically match the payslip's pay period. This prevents incorrect default dates and reduces manual corrections for payroll teams.
Original PR description
When creating a pay run directly from the payslip form view, the pay run dates now default to the payslip's period dates instead of the current month. task-5236811 Forward-Port-Of: odoo/enterprise#98799