diff options
author | Rob Crittenden <rcritten@redhat.com> | 2008-10-15 17:46:01 -0400 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2008-10-15 17:46:01 -0400 |
commit | 1a8317ff7471214811d39ab846d402dc22a03779 (patch) | |
tree | 02d13ca1173f1e94d4862233af6f67a5e079d43b /ipa_server/plugins | |
parent | 14a33d461960b4183ac25a83a8ef9f375fd75d49 (diff) | |
download | freeipa-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/plugins')
-rw-r--r-- | ipa_server/plugins/b_ldap.py | 17 |
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) |