diff --git a/src/applications/people/controller/PhabricatorPeopleLdapController.php b/src/applications/people/controller/PhabricatorPeopleLdapController.php --- a/src/applications/people/controller/PhabricatorPeopleLdapController.php +++ b/src/applications/people/controller/PhabricatorPeopleLdapController.php @@ -149,6 +149,9 @@ $results = $ldap_adapter->searchLDAP('%Q', $search); + $existing_users = id(new PhabricatorPeopleQuery())->execute(); + $existing_users = (mpull($existing_users, 'getUserName')); + foreach ($results as $key => $record) { $account_id = $ldap_adapter->readLDAPRecordAccountID($record); if (!$account_id) { @@ -161,8 +164,12 @@ $ldap_adapter->readLDAPRecordEmail($record), $ldap_adapter->readLDAPRecordRealName($record), ); - $results[$key] = $info; - $results[$key][] = $this->renderUserInputs($info); + + if (!in_array(strtolower(idx($info, 0)), $existing_users) && + !in_array(strtoupper(idx($info, 0)), $existing_users)) { + $results[$key] = $info; + $results[$key][] = $this->renderUserInputs($info); + } } $form = id(new AphrontFormView())