Daily updates from Odoo
Tuesday, April 29, 2025
3 changes · saas-18.2
Resolved issues and error corrections
This fixes the order in which certain hardware device drivers are selected so that the correct driver runs first. It prevents Adam equipment handling from interfering with Blackbox devices, improving reliability for connected IoT hardware.
Original PR description
Enterprise PR: https://github.com/odoo/enterprise/pull/84122 Since commit ae16d9d, the Adam driver priority has been incorrectly set higher than it should be. The issue was a side-effect of removing…
Enterprise PR: https://github.com/odoo/enterprise/pull/84122 Since commit ae16d9d, the Adam driver priority has been incorrectly set higher than it should be. The issue was a side-effect of removing the meta-class, since it no longer registered the `Driver` base class as a driver. The fix was just to simplify the priority system to not be affected by inheritance. Then we manually set the Adam priority to -1, and the Blackbox priority to 1. Everything else will have priority 0. For a detailed breakdown of the old behaviour and the cause of the bug, keep reading: The priority system was influenced by inheritance - the more levels of inheritance, the higher the priority. For example, in saas-18.1, you get these priorities: - `SerialBaseDriver`: 1 - `BlackBoxDriver`: 2 - `ScaleDriver`: 2 - `Toledo8217Driver`: 3 The Adam driver sets its priority to zero, but it still gets +1 from the meta class. So the final priorities are as follows in saas-18.1: - `SerialBaseDriver`: 1 - `AdamEquipmentDriver`: 1 - `BlackBoxDriver`: 2 - `ScaleDriver`: 2 - `Toledo8217Driver`: 3 This results in the Adam driver runs last. In saas-18.2, the priorities are shifted by 1 due to the `Driver` base class not being registered, but the Adam driver still ends up with the same value. So the priorities now look like this: - `SerialBaseDriver`: 0 - `AdamEquipmentDriver`: 1 - `BlackBoxDriver`: 1 - `ScaleDriver`: 1 - `Toledo8217Driver`: 2 The Adam driver and blackbox driver have the same priority, so the Adam driver could end up running first and breaking the blackbox. task-4750364 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Automation rules that run custom Python code now handle individual record errors more safely. This prevents one failed rule execution from repeatedly disrupting scheduled automation runs, improving reliability for administrators using automated actions.
Original PR description
SQL traceback occurs when user creates their own automation rule involving python code. **Steps to reproduce:** Install base_automation,discuss if not already installed * `Setting>…
SQL traceback occurs when user creates their own automation rule involving python code.
**Steps to reproduce:**
Install base_automation,discuss if not already installed
* `Setting> Technical>Automation rules`
* name it as `Whatsapp add admin`
* model as `discuss channel` and trigger `after creation` any amount of time
* `Add an action>Execute code`
* Add the following code:
```python
try:
env['discuss.channel.member'].create({ 'partner_id': 1, # Likely invalid 'channel_id': 1, })
except Exception:
pass
env['res.partner'].search([], limit=1)
```
* Go to `techinical>automation>scheduled actions>Automation rules:check and execute` run it manually.
`ValueError:InFailedSqlTransaction('current transaction is aborted, commands ignored until end of transaction block\n') while evaluating
'model._cron_process_time_based_actions()'`
**Solution:**
* Place try and except inside the loop to handle errors per record and allow the loop to continue and handle the transaction error better.
* This will only one occurence of the error instead of repeating occurrence each time the cron runs.
**Sentry-6562754804**
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fix restores a previously disabled website test by replacing an external service call with a proper substitute. It improves release validation reliability without changing the customer-facing website experience.
Original PR description
test_01_beacon was disabled to allow an easier forwardport of #207720 This commit fixes the issue by providing a correct substitution for the external call. Runbot error: 182085