function InstallHelper::importUsers

Same name and namespace in other branches
  1. 10 core/profiles/demo_umami/modules/demo_umami_content/src/InstallHelper.php \Drupal\demo_umami_content\InstallHelper::importUsers()

Imports users.

Users are created as their content is imported. However, some users might have non-default values (as preferred language), or editors don't have their own content so are created here instead.

Return value

$this

File

core/profiles/demo_umami/modules/demo_umami_content/src/InstallHelper.php, line 312

Class

InstallHelper
Defines a helper class for importing default content.

Namespace

Drupal\demo_umami_content

Code

protected function importUsers() {
    $user_storage = $this->entityTypeManager
        ->getStorage('user');
    $users = [
        'Gregorio Sánchez' => [
            'preferred_language' => 'es',
            'roles' => [
                'author',
            ],
        ],
        'Margaret Hopper' => [
            'preferred_language' => 'en',
            'roles' => [
                'editor',
            ],
        ],
        'Grace Hamilton' => [
            'preferred_language' => 'en',
            'roles' => [
                'editor',
            ],
        ],
        'María García' => [
            'preferred_language' => 'es',
            'roles' => [
                'editor',
            ],
        ],
    ];
    foreach ($users as $name => $user_data) {
        $user = $user_storage->create([
            'name' => $name,
            'status' => 1,
            'roles' => $user_data['roles'],
            'preferred_langcode' => $user_data['preferred_language'],
            'preferred_admin_langcode' => $user_data['preferred_language'],
            'mail' => \Drupal::transliteration()->transliterate(mb_strtolower(str_replace(' ', '.', $name))) . '@example.com',
        ]);
        $user->enforceIsNew();
        $user->save();
        $this->storeCreatedContentUuids([
            $user->uuid() => 'user',
        ]);
    }
    return $this;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.