Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 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);
 }
Esempio n. 6
0
 /**
  * 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));
 }
Esempio n. 7
0
 /**
  * @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());
 }