diff options
Diffstat (limited to 'ipaserver/plugins')
| -rw-r--r-- | ipaserver/plugins/baseldap.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ipaserver/plugins/baseldap.py b/ipaserver/plugins/baseldap.py index 7367c8798..62b726da1 100644 --- a/ipaserver/plugins/baseldap.py +++ b/ipaserver/plugins/baseldap.py @@ -2131,6 +2131,14 @@ class LDAPAddReverseMember(LDAPModReverseMember): dn = callback(self, ldap, dn, *keys, **options) assert isinstance(dn, DN) + if options.get('all', False): + attrs_list = ['*'] + self.obj.default_attributes + else: + attrs_list = set(self.obj.default_attributes) + if options.get('no_members', False): + attrs_list.difference_update(self.obj.attribute_members) + attrs_list = list(attrs_list) + completed = 0 failed = {'member': {self.reverse_attr: []}} for attr in options.get(self.reverse_attr) or []: @@ -2222,6 +2230,14 @@ class LDAPRemoveReverseMember(LDAPModReverseMember): dn = callback(self, ldap, dn, *keys, **options) assert isinstance(dn, DN) + if options.get('all', False): + attrs_list = ['*'] + self.obj.default_attributes + else: + attrs_list = set(self.obj.default_attributes) + if options.get('no_members', False): + attrs_list.difference_update(self.obj.attribute_members) + attrs_list = list(attrs_list) + completed = 0 failed = {'member': {self.reverse_attr: []}} for attr in options.get(self.reverse_attr) or []: |
