details: https://code.tryton.org/tryton/commit/b8959af43bb3
branch: 7.8
user: Cédric Krier <[email protected]>
date: Tue Dec 23 09:55:34 2025 +0100
description:
Log event using the transaction of the records
Closes #14446
(grafted from 26a0e633cca7b48c7a585f9687af279edd2900b5)
diffstat:
trytond/trytond/model/modelstorage.py | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diffs (28 lines):
diff -r f55ded4e67aa -r b8959af43bb3 trytond/trytond/model/modelstorage.py
--- a/trytond/trytond/model/modelstorage.py Wed Dec 17 23:35:27 2025 +0100
+++ b/trytond/trytond/model/modelstorage.py Tue Dec 23 09:55:34 2025 +0100
@@ -234,14 +234,16 @@
return
pool = Pool()
Log = pool.get('ir.model.log')
- transaction = Transaction()
- if user is None:
- user = transaction.user
- for record in records:
- assert record.id >= 0
- transaction.log_records.append(Log(
- resource=record, event=event, target=target, user=user,
- **extra))
+ for transaction, sub_records in groupby(
+ records, lambda r: r._transaction):
+ with Transaction().set_current_transaction(transaction):
+ if user is None:
+ user = transaction.user
+ for record in records:
+ assert record.id >= 0
+ transaction.log_records.append(Log(
+ resource=record, event=event, target=target,
+ user=user, **extra))
@classmethod
def preprocess_values(cls, mode, values):