Пример #1
0
 /**
  * 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;
     }
 }