diff --git a/Products/CMFPlone/Portal.py b/Products/CMFPlone/Portal.py index 5c26d62edf..21fca93eed 100644 --- a/Products/CMFPlone/Portal.py +++ b/Products/CMFPlone/Portal.py @@ -65,7 +65,7 @@ def __getattr__(self, name): def __setattr__(self, name, obj): # handle re setting an item as an attribute - if self._tree is not None and name in self: + if not name.startswith("_") and self._tree is not None and name in self: del self[name] self[name] = obj else: diff --git a/news/4043.bugfix b/news/4043.bugfix new file mode 100644 index 0000000000..a51ab29b2e --- /dev/null +++ b/news/4043.bugfix @@ -0,0 +1 @@ +Avoid POSKeyError when commit occurs and we have savepoint that involves Plone Site. @wesleybl