changeset 8021e386894b in trytond:default
details: https://hg.tryton.org/trytond?cmd=changeset;node=8021e386894b
description:
Ensure User application key is different on bunch creation
issue9306
review321301002
diffstat:
trytond/res/user.py | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diffs (24 lines):
diff -r fce8ad4a6828 -r 8021e386894b trytond/res/user.py
--- a/trytond/res/user.py Fri May 22 11:25:01 2020 +0200
+++ b/trytond/res/user.py Fri May 22 11:27:27 2020 +0200
@@ -905,6 +905,8 @@
'depends': ['state'],
},
})
+ # Do not cache default_key as it depends on time
+ cls.__rpc__['default_get'].cache = None
@classmethod
def default_key(cls):
@@ -949,6 +951,11 @@
def create(cls, vlist):
pool = Pool()
User = pool.get('res.user')
+ vlist = [v.copy() for v in vlist]
+ for values in vlist:
+ # Ensure we get a different key for each record
+ # default methods are called only once
+ values.setdefault('key', cls.default_key())
applications = super(UserApplication, cls).create(vlist)
User._get_preferences_cache.clear()
return applications