summaryrefslogtreecommitdiffstats
path: root/ipa_server
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2008-10-15 17:46:01 -0400
committerRob Crittenden <rcritten@redhat.com>2008-10-15 17:46:01 -0400
commit1a8317ff7471214811d39ab846d402dc22a03779 (patch)
tree02d13ca1173f1e94d4862233af6f67a5e079d43b /ipa_server
parent14a33d461960b4183ac25a83a8ef9f375fd75d49 (diff)
downloadfreeipa-1a8317ff7471214811d39ab846d402dc22a03779.tar.gz
freeipa-1a8317ff7471214811d39ab846d402dc22a03779.tar.xz
freeipa-1a8317ff7471214811d39ab846d402dc22a03779.zip
Port group-add to use LDAP backend
Have create and update return the record that was just added/modified
Diffstat (limited to 'ipa_server')
-rw-r--r--ipa_server/plugins/b_ldap.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/ipa_server/plugins/b_ldap.py b/ipa_server/plugins/b_ldap.py
index b40a957f8..dca9b3fea 100644
--- a/ipa_server/plugins/b_ldap.py
+++ b/ipa_server/plugins/b_ldap.py
@@ -48,6 +48,16 @@ class ldap(CrudBackend):
self.api.env.basedn,
)
+ def make_group_dn(self, cn):
+ """
+ Construct user dn from cn.
+ """
+ return 'cn=%s,%s,%s' % (
+ self.dn.escape_dn_chars(cn),
+ self.api.env.container_group,
+ self.api.env.basedn,
+ )
+
def find_entry_dn(self, key_attribute, primary_key, object_type=None):
"""
Find an existing entry's dn from an attribute
@@ -113,7 +123,8 @@ class ldap(CrudBackend):
for k in kw:
entry.setValues(k, kw[k])
- return servercore.add_entry(entry)
+ servercore.add_entry(entry)
+ return self.retrieve(entry.dn)
def retrieve(self, dn, attributes=None):
return servercore.get_entry_by_dn(dn, attributes)
@@ -126,7 +137,9 @@ class ldap(CrudBackend):
for k in kw:
entry.setValues(k, kw[k])
- return servercore.update_entry(entry.toDict())
+ servercore.update_entry(entry.toDict())
+
+ return self.retrieve(dn)
def delete(self, dn):
return servercore.delete_entry(dn)