summaryrefslogtreecommitdiffstats
path: root/ipaserver/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'ipaserver/plugins')
-rw-r--r--ipaserver/plugins/baseldap.py16
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 []: