diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py index f07db115b3d25fadd89cae2aa1f3edbdff510aa4..3cdbe8ed94ef840fc8a5322f1af4b9c7b223be4f 100644 --- a/product/ERP5Type/Base.py +++ b/product/ERP5Type/Base.py @@ -2121,7 +2121,12 @@ class Base( CopyContainer, context.__dict__.update(self.__dict__) # Copy REQUEST properties to self if REQUEST is not None: - context.__dict__.update(REQUEST) + # Avoid copying a SESSION object, because it is newly created + # implicitly when not present, thus it may induce conflict errors. + # As ERP5 does not use Zope sessions, it is better to skip SESSION. + for k in REQUEST.keys(): + if k != 'SESSION': + context[k] = REQUEST[k] # Define local properties if kw is not None: context.__dict__.update(kw) # Make it a temp content