|
|
|
@ -1723,6 +1723,20 @@ int LDAPManager::deleteUserInfo(LDAPUserInfo user, TQString *errstr) {
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
// Remove the user from all member groups
|
|
|
|
|
LDAPGroupInfoList groupInfoList = groups(&retcode);
|
|
|
|
|
LDAPGroupInfoList::Iterator it;
|
|
|
|
|
for (it = groupInfoList.begin(); it != groupInfoList.end(); ++it) {
|
|
|
|
|
LDAPGroupInfo group = *it;
|
|
|
|
|
if (group.userlist.contains(user.distinguishedName)) {
|
|
|
|
|
group.userlist.remove(user.distinguishedName);
|
|
|
|
|
retcode = updateGroupInfo(group, errstr);
|
|
|
|
|
if (retcode != 0) {
|
|
|
|
|
return retcode;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Delete the base DN entry
|
|
|
|
|
retcode = ldap_delete_ext_s(m_ldap, user.distinguishedName.ascii(), NULL, NULL);
|
|
|
|
|
if (retcode != LDAP_SUCCESS) {
|
|
|
|
|