diff options
author | Thierry Bordaz <tbordaz@redhat.com> | 2015-04-15 15:48:21 +0200 |
---|---|---|
committer | Jan Cholasta <jcholast@redhat.com> | 2015-04-16 06:50:16 +0000 |
commit | c20009123f3e4456bdf63b9d406543cb0e50ffce (patch) | |
tree | bae35085ec00aa7a5ceed64be558d10ad8c39742 /ipalib | |
parent | 1bd099a114a29e461307e0defcca3bfe422fabb5 (diff) | |
download | freeipa-c20009123f3e4456bdf63b9d406543cb0e50ffce.tar.gz freeipa-c20009123f3e4456bdf63b9d406543cb0e50ffce.tar.xz freeipa-c20009123f3e4456bdf63b9d406543cb0e50ffce.zip |
User life cycle: allows MODRDN from ldap2
enhance update_entry_rdn so that is allows
to move an entry a new superior
https://fedorahosted.org/freeipa/ticket/3813
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipalib')
-rw-r--r-- | ipalib/plugins/baseldap.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py index 4b1c70192..0b1a48107 100644 --- a/ipalib/plugins/baseldap.py +++ b/ipalib/plugins/baseldap.py @@ -1417,10 +1417,12 @@ class LDAPUpdate(LDAPQuery, crud.Update): if self.obj.rdn_is_primary_key and self.obj.primary_key.name in entry_attrs: try: # RDN change - self._exc_wrapper(keys, options, ldap.update_entry_rdn)( + new_dn = DN((self.obj.primary_key.name, + entry_attrs[self.obj.primary_key.name]), + *entry_attrs.dn[1:]) + self._exc_wrapper(keys, options, ldap.move_entry)( entry_attrs.dn, - RDN((self.obj.primary_key.name, - entry_attrs[self.obj.primary_key.name]))) + new_dn) rdnkeys = keys[:-1] + (entry_attrs[self.obj.primary_key.name], ) entry_attrs.dn = self.obj.get_dn(*rdnkeys) |