details: https://code.tryton.org/tryton/commit/2844635bb782
branch: default
user: Cédric Krier <[email protected]>
date: Fri Oct 09 12:42:03 2026 +0200
description:
Set a default value for the readonly fields that are copied under check
access
fields with default values are skipped from the create call and thus
their
access rights are not enforced.
Closes #15156
diffstat:
trytond/trytond/model/modelstorage.py | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diffs (18 lines):
diff -r 682b2a7691bf -r 2844635bb782 trytond/trytond/model/modelstorage.py
--- a/trytond/trytond/model/modelstorage.py Sun Oct 11 23:38:41 2026 +0200
+++ b/trytond/trytond/model/modelstorage.py Fri Oct 09 12:42:03 2026 +0200
@@ -728,6 +728,14 @@
values = {
d['id']: d for d in cls.read(ids, fields_names=fields_names)}
default_values = cls.default_get(fields_names, with_rec_name=False)
+
+ if Transaction().check_access:
+ # force default value to skip access rights
+ for field_name, field in fields_.items():
+ if field.readonly:
+ default.setdefault(
+ field_name, default_values.get(field_name))
+
to_create = []
for id_ in ids:
data = convert_data(fields_, values[id_], default_values)