details:   https://code.tryton.org/tryton/commit/8cf7ece62908
branch:    7.6
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 fda8c00d5dd4 -r 8cf7ece62908 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
@@ -355,7 +355,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
@@ -390,8 +391,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()

Reply via email to