/** * Creates a new administrative user's account. */ public function actionAdminCreate() { $password = $this->prompt('Enter password:'******'required' => true]); if (!$password) { return self::EXIT_CODE_ERROR; } // create user model $user = new User(); $user->setAttributes(['name' => $this->name, 'email' => $this->email, 'status' => User::STATUS_ACTIVE]); $user->newPassword = $password; $this->stdout("\n"); if (!$user->validate()) { // validation errors $this->stdout('Validation errors...' . "\n", Console::FG_YELLOW); foreach ($user->getErrors() as $attribute => $errors) { $error = reset($errors); $this->stdout($user->getAttributeLabel($attribute) . ': ', Console::FG_RED); $this->stdout($error . "\n"); } return self::EXIT_CODE_ERROR; } /* @var $api UserModule */ $api = Yii::$app->getModule('user'); try { $api->createAdmin($user); $this->stdout('User successfully created. ID: ' . $user->id . "\n", Console::FG_GREEN); } catch (Exception $ex) { // Database error $this->stdout('Database error.' . "\n", Console::FG_RED); return self::EXIT_CODE_ERROR; } }