diff --git a/Products/CMFPlone/Portal.py b/Products/CMFPlone/Portal.py index cbf4c91149..878872e666 100644 --- a/Products/CMFPlone/Portal.py +++ b/Products/CMFPlone/Portal.py @@ -61,7 +61,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/4026.bugfix b/news/4026.bugfix new file mode 100644 index 0000000000..a51ab29b2e --- /dev/null +++ b/news/4026.bugfix @@ -0,0 +1 @@ +Avoid POSKeyError when commit occurs and we have savepoint that involves Plone Site. @wesleybl