mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
ULC: Fix stageused-add --from-delete command
Nonexistent method was used to move deleted user to staged area. Minor fixes added: * handle not found error * return new DN https://fedorahosted.org/freeipa/ticket/5145 Reviewed-By: David Kupka <dkupka@redhat.com>
This commit is contained in:
@@ -377,16 +377,17 @@ class stageuser_add(baseuser_add):
|
|||||||
|
|
||||||
staging_dn = self.obj.get_dn(*keys, **options)
|
staging_dn = self.obj.get_dn(*keys, **options)
|
||||||
delete_dn = DN(staging_dn[0], self.obj.delete_container_dn, api.env.basedn)
|
delete_dn = DN(staging_dn[0], self.obj.delete_container_dn, api.env.basedn)
|
||||||
|
new_dn = DN(staging_dn[0], self.obj.stage_container_dn, api.env.basedn)
|
||||||
# Check that this value is a Active user
|
# Check that this value is a Active user
|
||||||
try:
|
try:
|
||||||
entry_attrs = self._exc_wrapper(keys, options, ldap.get_entry)(delete_dn, ['dn'])
|
entry_attrs = self._exc_wrapper(keys, options, ldap.get_entry)(delete_dn, ['dn'])
|
||||||
except errors.NotFound:
|
except errors.NotFound:
|
||||||
raise
|
self.obj.handle_not_found(*keys)
|
||||||
self._exc_wrapper(keys, options, ldap.move_entry_newsuperior)(delete_dn, str(DN(self.obj.stage_container_dn, api.env.basedn)))
|
|
||||||
|
|
||||||
|
self._exc_wrapper(keys, options, ldap.move_entry)(
|
||||||
|
delete_dn, new_dn)
|
||||||
entry_attrs = entry_to_dict(entry_attrs, **options)
|
entry_attrs = entry_to_dict(entry_attrs, **options)
|
||||||
entry_attrs['dn'] = delete_dn
|
entry_attrs['dn'] = new_dn
|
||||||
|
|
||||||
if self.obj.primary_key and keys[-1] is not None:
|
if self.obj.primary_key and keys[-1] is not None:
|
||||||
return dict(result=entry_attrs, value=keys[-1])
|
return dict(result=entry_attrs, value=keys[-1])
|
||||||
|
|||||||
Reference in New Issue
Block a user