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]); }
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); } }
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); } }
/** * {@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; } } }