From 2964b019d93b33b9703e6e26c8ca6fc28509ba64 Mon Sep 17 00:00:00 2001 From: Jan Cholasta Date: Thu, 17 Sep 2015 11:14:54 +0200 Subject: baseldap: make subtree deletion optional in LDAPDelete https://fedorahosted.org/freeipa/ticket/5250 Reviewed-By: Petr Vobornik --- ipalib/plugins/baseldap.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py index 4a0224647..46809f004 100644 --- a/ipalib/plugins/baseldap.py +++ b/ipalib/plugins/baseldap.py @@ -1570,6 +1570,8 @@ class LDAPDelete(LDAPMultiQuery): has_output_params = global_output_params + subtree_delete = True + def execute(self, *keys, **options): ldap = self.obj.backend @@ -1605,6 +1607,8 @@ class LDAPDelete(LDAPMultiQuery): except errors.NotFound: self.obj.handle_not_found(*nkeys) except errors.NotAllowedOnNonLeaf: + if not self.subtree_delete: + raise # this entry is not a leaf entry, delete all child nodes delete_subtree(dn) -- cgit