public function getCheckedOutUsers()
 {
     $users = User::loadMultiple();
     $checked_in_users = $this->getCheckedInUsers();
     $result = array();
     // Unset checked in users.
     foreach ($checked_in_users as $user) {
         unset($users[$user['uid']]);
     }
     // Set up result array.
     foreach ($users as $key => $user) {
         $uid = $user->id();
         if (!in_array($uid, array(0, 1))) {
             $account = User::load($uid);
             // Exclude users with some statuses.
             // (vacation, sick, day_off, business_trip).
             if (!in_array($account->field_user_status->value, $this->getExcludedUserStatuses())) {
                 $result[$key]['uid'] = $uid;
                 $result[$key]['field_first_name'] = $account->field_first_name->value;
                 $result[$key]['field_last_name'] = $account->field_last_name->value;
                 $result[$key]['field_image'] = $account->user_picture->target_id ? file_create_url(File::load($account->user_picture->target_id)->uri->value) : NULL;
             }
         }
     }
     return $result;
 }
 public function view(Request $request)
 {
     $users = User::loadMultiple();
     var_dump($users);
     foreach ($users as &$user) {
         $user->status = ['day_off' => 0, 'sick' => 1, 'business_trip' => 0, 'remote_work' => 1, 'vacation' => 0];
     }
     return new JsonResponse(['users' => $users]);
 }
示例#3
0
文件: Name.php 项目: 318io/318-io
 protected function valueForm(&$form, FormStateInterface $form_state)
 {
     $users = $this->value ? User::loadMultiple($this->value) : array();
     $default_value = EntityAutocomplete::getEntityLabels($users);
     $form['value'] = array('#type' => 'entity_autocomplete', '#title' => $this->t('Usernames'), '#description' => $this->t('Enter a comma separated list of user names.'), '#target_type' => 'user', '#tags' => TRUE, '#default_value' => $default_value, '#process_default_value' => FALSE);
     $user_input = $form_state->getUserInput();
     if ($form_state->get('exposed') && !isset($user_input[$this->options['expose']['identifier']])) {
         $user_input[$this->options['expose']['identifier']] = $default_value;
         $form_state->setUserInput($user_input);
     }
 }
示例#4
0
 public function fetch()
 {
     $query = $this->getQuery();
     $result = $query->execute();
     if ($this->entityType === 'user') {
         // ugly fix for custom fields on User
         return empty($result) ? array() : \Drupal\user\Entity\User::loadMultiple($result);
     } else {
         $store = \Drupal::entityManager()->getStorage($this->entityType);
         return empty($result) ? array() : $store->loadMultiple($result);
     }
 }
示例#5
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(array $form, FormStateInterface $form_state)
 {
     $header = array('username' => array('data' => t('Username'), 'field' => 'u.name'), 'status' => array('data' => t('Status'), 'field' => 'u.status'));
     $query = db_select('users_field_data', 'u');
     $query->condition('u.uid', 0, '<>');
     $query->condition('u.default_langcode', 1);
     $count_query = clone $query;
     $count_query->addExpression('COUNT(u.uid)');
     $query = $query->extend('Drupal\\Core\\Database\\Query\\PagerSelectExtender')->extend('Drupal\\Core\\Database\\Query\\TableSortExtender');
     $query->fields('u', array('uid'))->limit(50)->orderByHeader($header)->setCountQuery($count_query);
     $uids = $query->execute()->fetchCol();
     $options = array();
     foreach (User::loadMultiple($uids) as $account) {
         $options[$account->id()] = array('title' => array('data' => array('#title' => $account->getUsername())), 'username' => $account->getUsername(), 'status' => $account->isActive() ? t('active') : t('blocked'));
     }
     $form['accounts'] = array('#type' => 'tableselect', '#header' => $header, '#options' => $options, '#empty' => t('No people available.'));
     return $form;
 }
 /**
  * {@inheritdoc}
  */
 public static function loadMultiple(array $ids = NULL)
 {
     return User::loadMultiple($ids);
 }
 /**
  * Destroy a user that matches a test user name.
  *
  * @param $role
  * @return $this
  */
 public function destroyTestUser($role)
 {
     $this->output->writeln("deleting test{$role}User...");
     $users = \Drupal::entityQuery('user')->condition("name", "test{$role}User")->execute();
     $users = User::loadMultiple($users);
     foreach ($users as $user) {
         $user->delete();
     }
     return $this;
 }
 /**
  * {@inheritdoc}
  */
 public function processSummaryArguments(&$args)
 {
     // If the validation says the input is an username, we should reverse the
     // argument so it works for example for generation summary urls.
     $uids_arg_keys = array_flip($args);
     if ($this->options['type'] == 'name') {
         $users = User::loadMultiple($args);
         foreach ($users as $uid => $account) {
             $args[$uids_arg_keys[$uid]] = $account->name;
         }
     }
 }