Example #1
0
 /**
  * Finds user by [[email]]
  *
  * @return UserModel|null
  */
 public function getUser()
 {
     if ($this->_user === false) {
         $this->_user = UserModel::findByEmail($this->email);
     }
     return $this->_user;
 }
Example #2
0
 /**
  * Assign role to the user
  *
  * @param $roleName string user role
  * @param $email string user email
  *
  * @return int
  */
 public function actionAssignRoleToUser($roleName, $email)
 {
     $authManager = Yii::$app->authManager;
     $user = UserModel::findByEmail($email);
     $role = $authManager->getRole($roleName);
     if (empty($user)) {
         $this->stdout("User with `{$email}` does not exists.\n", Console::FG_RED);
         return self::EXIT_CODE_ERROR;
     }
     if (empty($role)) {
         $this->stdout("Role `{$roleName}` does not exists.\n", Console::FG_RED);
         return self::EXIT_CODE_ERROR;
     }
     // Check if role is already assigned to the user
     if (in_array($roleName, array_keys($authManager->getRolesByUser($user->id)))) {
         $this->stdout("Role `{$roleName}` already assigned to this user.\n", Console::FG_BLUE);
         return self::EXIT_CODE_NORMAL;
     }
     $authManager->assign($role, $user->id);
     $this->stdout("The role `{$roleName}` has been successfully assigned to the user with email {$email}\n", Console::FG_YELLOW);
     return self::EXIT_CODE_NORMAL;
 }