details: https://code.tryton.org/tryton/commit/90ea3fa9cc62
branch: 7.0
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 04c731b3d63d -r 90ea3fa9cc62 trytond/trytond/model/modelstorage.py
--- a/trytond/trytond/model/modelstorage.py Wed Dec 17 16:13:44 2025 +0100
+++ b/trytond/trytond/model/modelstorage.py Tue Dec 23 09:55:34 2025 +0100
@@ -178,14 +178,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 create(cls, vlist):