details: https://code.tryton.org/tryton/commit/635e0fd5605a
branch: 7.8
user: Nicolas Évrard <[email protected]>
date: Fri Apr 24 11:47:03 2026 +0200
description:
Ensure check_warnings and _datamanagers are valid when using them
(grafted from ee9737c3a9c8618d09c491f5c3401fef0f0f078f)
diffstat:
trytond/trytond/transaction.py | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diffs (25 lines):
diff -r d7807d2f2352 -r 635e0fd5605a trytond/trytond/transaction.py
--- a/trytond/trytond/transaction.py Mon Apr 20 10:32:39 2026 +0200
+++ b/trytond/trytond/transaction.py Fri Apr 24 11:47:03 2026 +0200
@@ -357,7 +357,8 @@
self._clear_warnings()
def _clear_warnings(self):
- self.check_warnings.clear()
+ if self.check_warnings:
+ self.check_warnings.clear()
def commit(self):
from trytond.cache import Cache
@@ -392,8 +393,9 @@
from trytond.cache import Cache
for cache in self.cache.values():
cache.clear()
- for datamanager in self._datamanagers:
- datamanager.tpc_abort(self)
+ if self._datamanagers:
+ for datamanager in self._datamanagers:
+ datamanager.tpc_abort(self)
Cache.rollback(self)
self._clear_log_records()
self._clear_warnings()