protected static function getUserResults($partialName, $pageSize) { $autoCompleteResults = array(); $users = UserSearch::getUsersByPartialFullName($partialName, $pageSize); foreach ($users as $user) { $autoCompleteResults[] = array('id' => $user->id, 'value' => strval($user), 'label' => strval($user) . ' (' . $user->username . ')'); } return $autoCompleteResults; }
public function testGetUsersByPartialFullName() { Yii::app()->user->userModel = User::getByUsername('super'); UserTestHelper::createBasicUser('Azo'); UserTestHelper::createBasicUser('Bdo'); UserTestHelper::createBasicUser('Abzo'); $users = UserSearch::getUsersByPartialFullName('A', 5); $this->assertEquals(2, count($users)); $users = UserSearch::getUsersByPartialFullName('bd', 5); $this->assertEquals(1, count($users)); $users = UserSearch::getUsersByPartialFullName('Cz', 5); $this->assertEquals(0, count($users)); $users = UserSearch::getUsersByPartialFullName('Ab', 5); $this->assertEquals(1, count($users)); }
public function testGetUsersByPartialFullNameWithAutoCompleteOptionsAsExcludeRootUsers() { UserTestHelper::createBasicUser('Root'); ZurmoRedBean::exec('UPDATE _user SET isrootuser=1 WHERE username="******";'); // Not Coding Standard $users = UserSearch::getUsersByPartialFullName('Root', 5); $this->assertEquals(1, count($users)); $autoCompleteOptions = ArrayUtil::encodeAutoCompleteOptionsArray(array('excludeRootUsers' => true)); $users = UserSearch::getUsersByPartialFullName('Root', 5, $autoCompleteOptions); $this->assertEquals(0, count($users)); }
/** * Given a partial name or e-mail address, search for all contacts regardless of contact state unless the * current user has security restrictions on some states. If the adapter resolver returns false, then the * user does not have access to the Leads or Contacts module. * JSON encode the resulting array of contacts. */ public function actionAutoCompleteForMultiSelectAutoComplete($term, $autoCompleteOptions = null) { $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('autoCompleteListPageSize', get_class($this->getModule())); $users = UserSearch::getUsersByPartialFullName($term, $pageSize, $autoCompleteOptions); $autoCompleteResults = array(); foreach ($users as $user) { $autoCompleteResults[] = array('id' => $user->getClassId('Item'), 'name' => strval($user)); } echo CJSON::encode($autoCompleteResults); }
/** * Given a partial name or e-mail address, search for all Users, Leads or Contacts * JSON encode the resulting array of contacts. */ public function actionAutoCompleteForMultiSelectAutoComplete($term, $autoCompleteOptions = null) { $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('autoCompleteListPageSize', get_class($this->getModule())); $usersByFullName = UserSearch::getUsersByPartialFullName($term, $pageSize, $autoCompleteOptions); $usersByEmailAddress = UserSearch::getUsersByEmailAddress($term, 'contains', true, $autoCompleteOptions, $pageSize); $contacts = ContactSearch::getContactsByPartialFullNameOrAnyEmailAddress($term, $pageSize, null, 'contains', $autoCompleteOptions); $autoCompleteResults = array(); foreach ($usersByEmailAddress as $user) { if (isset($user->primaryEmail->emailAddress)) { $autoCompleteResults[] = array('id' => strval($user->primaryEmail), 'name' => strval($user) . ' (' . $user->primaryEmail . ')'); } } foreach ($usersByFullName as $user) { if (isset($user->primaryEmail->emailAddress)) { $autoCompleteResults[] = array('id' => strval($user->primaryEmail), 'name' => strval($user) . ' (' . $user->primaryEmail . ')'); } } foreach ($contacts as $contact) { if (isset($contact->primaryEmail->emailAddress)) { $autoCompleteResults[] = array('id' => strval($contact->primaryEmail), 'name' => strval($contact) . ' (' . $contact->primaryEmail . ')'); } } $emailValidator = new CEmailValidator(); if (count($autoCompleteResults) == 0 && $emailValidator->validateValue($term)) { $autoCompleteResults[] = array('id' => $term, 'name' => $term); } echo CJSON::encode($autoCompleteResults); }
/** * test getUsersByPartialFullName */ public function testGetUsersByPartialFullName() { $user = UserTestHelper::createBasicUserWithEmailAddress("partialhideuser"); $user->hideFromSelecting = true; $this->assertTrue($user->save()); unset($user); $users = UserSearch::getUsersByPartialFullName("partial", 1); $this->assertEquals(0, count($users)); $user = User::getByUsername('partialhideuser'); $user->hideFromSelecting = false; $this->assertTrue($user->save()); unset($user); $users = UserSearch::getUsersByPartialFullName("partial", 1); $this->assertEquals(1, count($users)); }
/** * @depends testSearchByPartialName */ public function testSearchByPartialNameWithFirstNamePlusPartialLastName() { $user = User::getByUsername('dick'); $users = UserSearch::getUsersByPartialFullName('dick', 5); $this->assertEquals(1, count($users)); $this->assertEquals($user->id, $users[0]->id); $this->assertEquals('dick', $users[0]->username); $this->assertEquals('Dick Dickson', $users[0]->getFullName()); $users = UserSearch::getUsersByPartialFullName('dick ', 5); $this->assertEquals(1, count($users)); $this->assertEquals($user->id, $users[0]->id); $this->assertEquals('dick', $users[0]->username); $this->assertEquals('Dick Dickson', $users[0]->getFullName()); $users = UserSearch::getUsersByPartialFullName('dick d', 5); $this->assertEquals(1, count($users)); $this->assertEquals($user->id, $users[0]->id); $this->assertEquals('dick', $users[0]->username); $this->assertEquals('Dick Dickson', $users[0]->getFullName()); $user = User::getByUsername('dick'); $users = UserSearch::getUsersByPartialFullName('dick di', 5); $this->assertEquals(1, count($users)); $this->assertEquals($user->id, $users[0]->id); $this->assertEquals('dick', $users[0]->username); $this->assertEquals('Dick Dickson', $users[0]->getFullName()); $users = UserSearch::getUsersByPartialFullName('Dick di', 5); $this->assertEquals(1, count($users)); $this->assertEquals($user->id, $users[0]->id); $this->assertEquals('dick', $users[0]->username); $this->assertEquals('Dick Dickson', $users[0]->getFullName()); $users = UserSearch::getUsersByPartialFullName('dick Di', 5); $this->assertEquals(1, count($users)); $this->assertEquals($user->id, $users[0]->id); $this->assertEquals('dick', $users[0]->username); $this->assertEquals('Dick Dickson', $users[0]->getFullName()); }