AccessControl changeOwnership ignores recursive argument
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zope 2 |
New
|
Undecided
|
Unassigned |
Bug Description
In AcessControl.Owned, we have:
def changeOwnership
"""Change the ownership to the given user.
If 'recursive' is true then also take ownership of all sub-objects,
otherwise sub-objects retain their ownership information.
"""
if new is None: return # Special user!
old = self.getOwnerTu
if not recursive:
if old==new: return
if old is UnownableOwner: return
for child in self.objectValu
if recursive:
else:
# make ownership explicit
if old is not UnownableOwner:
If recursive is False, this code still changes ownership of all children, even if recursive is False, which seems wrong.