Daily updates from Odoo
Monday, December 23, 2024
11 changes · 18.0
Resolved issues and error corrections
This update prevents crashes when the Peppol invoicing module is updated before a related invoicing component. It keeps partner contact pages working reliably during staggered module updates.
Original PR description
In case `account_edi_ubl_cii`is not updated, but `account_peppol` is updated, it will crash as `id="peppol_address"` div does not exist yet. task-no
This update fixes several small issues in Peppol electronic invoicing, including restoring the Print & Send wizard after Peppol registration. It also improves Belgian electronic address information and simplifies internal proxy communication, helping keep e-invoicing flows reliable.
Original PR description
### Commit 1: [FIX] account_peppol: Remove useless div The div is replaced few lines below, so no need to make it visible/invisible. task-no ### Commit 2: [FIX] account_edi_ubl_cii: add belgian EAS…
### Commit 1: [FIX] account_peppol: Remove useless div The div is replaced few lines below, so no need to make it visible/invisible. task-no ### Commit 2: [FIX] account_edi_ubl_cii: add belgian EAS translation task-no ### Commit 3: [FIX] account_edi_ubl_cii: fix typo in EAS task-no ### Commit 4: [FIX] account_peppol: clean calls to proxy Before this commit, when calling our Peppol proxy, here is what the call graph would look like (prefixed by the module the method belongs to): `account_peppol._call_peppol_proxy` -> `account_peppol._make_request` --> `account_peppol._call_peppol_proxy` ---> `account_edi_proxy_client._make_request` We simplify this to: `account_peppol._call_peppol_proxy` -> `account_edi_proxy_client._make_request` task-no ### Commit 5: [FIX] account_peppol: fix reopening of Print & Send wizard With previous commit [1], we broke the flow when registering to Peppol coming from the Print & Send wizard. The Print & Send wizard was not reopening after successful registration. task-no
Fixes a communication issue where point-of-sale customer display status requests were missing required request details. This helps the IoT Box understand the request correctly, improving reliability of connected customer displays.
Original PR description
Customer display "get" action was missing `params` key, required for the IoT Box to understand the request correctly.
Employees with attendance-based, fully flexible contracts can now access their calendar even when no working schedule is set. The system uses a safe default calendar instead of blocking access, preventing disruption for payroll and attendance setups.
Original PR description
**Issue:** An employee can't access its calendar if it has a contract based on attendances with a null allowed value for its working schedule (fully flexible). **Expected:** An employee should be able to access its calendar. **Steps to reproduce:** - Activate Payroll app and presence based on attendances in employees' settings; - Open or create a contract through the current user's employee's file; - Set "Work Entry Source" to "Attendances" and leave "Working Schedule" empty; - Try to access the Calendar app. **Cause:** No calendar found on a contract. https://github.com/odoo/odoo/blob/18.0/addons/hr_work_entry_contract/models/hr_contract.py#L154 https://github.com/odoo/odoo/blob/18.0/addons/hr_work_entry_contract/models/hr_work_entry.py **Fix:** Retrieve a default temporary fully flexible calendar if none has been found on the contract. **Linked:** Enterprise PR: https://github.com/odoo/enterprise/pull/73274 opw-4288878
Installing Peppol now works smoothly even when a related invoicing module has not yet been updated. This prevents customers from being blocked during setup and removes the need for a manual module update first.
Original PR description
The aim of this commit is to ensure a smooth installation of account_peppol. Context: Commit 171b4ae657bc86bba1b113f0aed7a4ba4a154ed9 introduced the div with id peppol_address in stable. That same id is referenced by account_peppol for inheritance. Before the commit: Customer already having the `account_edi_ubl_cii` module installed will face a crash when installing peppol. To be able to to install peppol, they will need to update `account_edi_ubl_cii`. After the commit: Peppol installation goes smoothly, even if the div isn't there yet. task-id: None
Fixes a chat behavior where pressing Escape while an emoji reaction menu was open could close the entire chat window instead. This makes message reactions feel more predictable and also restores the reaction tooltip after closing the menu.
Original PR description
Before this commit, when opening message reaction menu in a chat window, clicking on ESC was closing the chat window. Steps to reproduce: - as Mitchell Admin, open a chat window of channel General…
Before this commit, when opening message reaction menu in a chat window, clicking on ESC was closing the chat window. Steps to reproduce: - as Mitchell Admin, open a chat window of channel General from click on messaging menu in systray - add an emoji reaction to the last message - click on composer to have focus on it - mouse hover the reaction then click on emoji reaction tooltip - press ESC when the message reaction menu is open => it closes the chat window instead of message reaction menu. This happens because when opening the message reaction menu, the dialog is mounted. It detects dropdown is closed after a delay, and when closing the dropdown it recovers the focus before the opening of dropdown, which could be the composer of chat window. In the case when the focus was on composer, pressing ESC on message reaction menu will close the chat window due to composer being focused. This commit fixes the issue by immediately setting the dropdown state to close when clicking to open message reaction menu, so that it won't recover the old focused element such as the composer. --------- This commit also fixes a related minor bug when closing the message reaction menu then hovering the reaction was not showing the dropdown/tooltip of reaction. This happens because the `useHover()` hook was not aware the click on dropdown content closes the hovered ref, thus it kept internally thinking the item is hovered so it wasn't updating UI to open dropdown or reaction. This is fixed by adding a parameter `stateObserver` to help the `useHover()` hook to re-check whether the targets are present on UI. Thanks to this, it can detect whether the currently hovered target has been removed, thus invoking the behaviour to mark is as no longer hovered. task-4351992 Before  After 
The point of sale mobile view now keeps long category lists from taking over the screen. Users can scroll categories while still seeing and selecting products, making checkout easier on phones or small screens.
Original PR description
Currently when users have too many categories in their pos, their are not able to see the products and cannot scroll. Steps to reproduce: ------------------- * Add categories to the pos `> 20` * Open pos shop * Change the view size to a mobile view > Observation: We cannot see all categories, cannot scroll through them, and cannot see/select products Why the fix: ------------ In mobile view we will show only 2 rows of categories and allow to scroll to see the rest. This allows for space for the products to be shown. If we have less than 3 categories and sub categories to show we will restrict the height to 1 row. opw-4371390 ## Before  ## After  https://drive.google.com/file/d/1yBOEFqX6NbI-mCLjQ9aSR-yEzJ3am50E/view?usp=sharing
The emoji picker now adapts its category navigation when emoji sizing differs across browsers or operating systems, avoiding unwanted scrollbars. This improves visual consistency and usability while keeping the picker aligned with the surrounding interface.
Original PR description
Before this commit, emoji navbar simply had `.overflow-auto`. The size of emoji category depends on browser/OS for the style of emoji, but browsers also differ in the way they render font unicodes.…
Before this commit, emoji navbar simply had `.overflow-auto`. The size of emoji category depends on browser/OS for the style of emoji, but browsers also differ in the way they render font unicodes. This means that overflow never happens on some configuration, and in a few of them it always occur. The size of emoji picker container is good and we want to keep it fixed, as it plays nicely with the rest of UI. For the size of emojis, as long as we rely on font unicode, we have to live with the different sizing. This commit suggests a new way to manage overflow which doesn't show a scroll bar while letting browser/OS choose their way to render emojis: we detect whether emoji tabs overflow, and when so it fills as most emoji it can without overflow. Navbar has many "panels", and switching to panels happen either manually (click on >> and << buttons) or with scrolling of emoji picker without any search. Commit also makes the following minor improvements: - category section position sticky was not completely hiding emoji list below (e.g. on Chrome macOS). This is fixed with a `.align-self-stretch` on the section - emoji categories are centered with emoji picker Task-4413819 ------------- _(note: size of emoji in navbar is artificially bigger to simulate some rendering in few browser/OS that have always overflow)_ Before / After  
The Mexican DIOT tax report now correctly provides the date filter information expected by the reporting interface. This prevents users from seeing an error when opening or using the tax return report filters, improving reliability for Mexican localization reporting.
Original PR description
The error in question was caused by the MX localization MexicanAccountReportCustomHandler DIOT report model neither including tax_periodicity in it's own _custom_options_initializer() which overrides the version inherited from account_generic_tax_report.py, therefore account_reports/static/src/components/account_report/filters/filters.js -> hideTaxPeriodFilter() showed an error when trying to get it. task: 4402723
This fix keeps the WhatsApp discussion experience aligned with recent Discuss app changes. The member panel now opens by default as expected, reducing confusion for users who manage or follow conversations.
Original PR description
Member panel is open by default in discuss app https://github.com/odoo/odoo/pull/191293
This fixes an error that prevented users from opening an employee's payslips when their attendance-based contract had no working schedule set. Payroll now safely uses another available timezone, falling back to UTC, so payslip access remains reliable for fully flexible contracts.
Original PR description
**Issue:** The client gets an error while accessing an employee's payslips if that employee has a contract based on attendances with a null allowed value for its working schedule. **Expected:** The…
**Issue:** The client gets an error while accessing an employee's payslips if that employee has a contract based on attendances with a null allowed value for its working schedule. **Expected:** The client should be able to access the payslips regardless on the working schedule value, even blank. **Steps to reproduce:** - Activate Payroll app and presence based on attendances in employees' settings; - Open or create a contract through an employee's file; - Set "Work Entry Source" to "Attendances" and leave "Working Schedule" empty; - Try to access the employee's payslips through the action button. **Cause:** No timezone found on a contract's calendar because the calendar is null. [https://github.com/odoo/enterprise/blob/18.0/hr_payroll/models/hr_payslip.py#L1141](https://github.com/odoo/enterprise/blob/18.0/hr_payroll/models/hr_payslip.py#L1141 ) **Fix:** Add a default value on `'UTC'` if no calendar has been found. **Linked:** Community PR : https://github.com/odoo/odoo/pull/186222 opw-4268672