Saturday, June 21, 2025
7 changes · saas-18.3
Resolved issues and error corrections
The self-service ordering interface can now use the same custom color settings available for kiosk mode. This helps businesses keep customer-facing ordering screens aligned with their brand without extra workarounds.
Original PR description
This modification allows customization of the color of the self-service ordering interface, as is the case for the kiosk. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The ToDo app form layout no longer creates unwanted horizontal scrolling on small screens. This improves usability for users working on phones or narrow browser windows by keeping content properly contained.
Original PR description
This commit, avoid changing the padding on the form on small screen and so avoid having horizontal scrolling. Step to reproduce: * Open Odoo on small screen * Open ToDo app * Select or create a record * TRy to scroll horizontally => Bug --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Point of Sale ticket screen now sorts orders more reliably when multiple orders share the same date. This helps staff find and review tickets in the expected order, reducing confusion during checkout or order lookup.
Original PR description
Before: = - Orders were compared using full date objects, which caused incorrect sorting when the dates were the same. After: = - Sorting now uses numeric timestamps for accurate date comparison. - If timestamps are equal, it falls back to sorting by order number. Task: 4881605 Runbot Error: [odoo/error#226754](https://runbot.odoo.com/odoo/error/226754)
The test setup now includes the required accounting journal so Point of Sale configuration tests can run reliably. This prevents false build failures and helps keep the release validation process stable.
Original PR description
The PoS test `test_should_not_affect_other_pos_config` was failing due to a missing required field `account_tax_return_journal_id` when using the res.config.settings form. To resolve this, we now explicitly create a general journal in `collect_company_accounting_data()` and assign it to the company's `account_tax_return_journal_id` during test setup. build_error-226813
This fix makes the IoT payment terminal library download process handle system access changes more safely. It prevents avoidable setup errors when installing or updating the required Worldline payment component, improving reliability for connected payment devices.
Original PR description
The call to the script downloading and extracting `libeasyctep.so` was returning a traceback if it failed to remount the system readonly. We moved the rw/ro mounting logic from the sh script to the python call to avoid this. Task: 4852374
Fixes an issue where adding or changing a cover image on a Knowledge article could fail. Users can now use the Add Cover action as expected, restoring a smoother article editing experience.
Original PR description
There was an issue with Knowledge article cover selection where a user would not be able to change the cover. The issue was introduced with https://github.com/odoo/enterprise/commit/d89f6ddbc4e4402592f31b41db0174dbf3154036 refactoring. This commit restores the proper `arg` format for the `update` function. opw-4845517
Bank reconciliation no longer shows blank action buttons when all reconciliation models have been deleted. This prevents users from clicking a broken button and encountering an error during accounting reconciliation.
Original PR description
Reproduce: 1. Install Accounting 2. Accounting > Bank: Click on some unreconciled statement line There are some buttons like "Internal Transfer" representing reconciliation models. 3. Delete all…
Reproduce:
1. Install Accounting
2. Accounting > Bank: Click on some unreconciled statement line There are some buttons like "Internal Transfer" representing reconciliation models.
3. Delete all reconciliation models.
4. Accounting > Bank: Click on some unreconciled statement line There is a button w/o label. Clicking on it gives an error. (In debug mode the button generation gives an error already) There should be no buttons at all
The issue is that the `get_available_reconcile_model_per_statement_line` can return sth like this in case no reconcilation model was found for statement lines with id 18, 19, 20, 21.
```python
{
18: [{'id': None, 'display_name': None}],
19: [{'id': None, 'display_name': None}],
20: [{'id': None, 'display_name': None}],
21: [{'id': None, 'display_name': None}]
}
```
Since the javascript code assumes that `{'id': None, 'display_name': None}` actually represents a reconciliation model, the error occurs.
After this commit `{'id': None, 'display_name': None}` entries should not appear anymore. In the example an empty dictionary would be returned
task: None