Exemple #1
0
 /**
  * testIsSuccess
  *
  * @covers \RcmUser\User\Result::isSuccess
  *
  * @return void
  */
 public function testIsSuccess()
 {
     $result = new Result();
     $user = new User();
     $result->setCode(Result::CODE_SUCCESS);
     $result->setUser($user);
     $this->assertTrue($result->isSuccess(), 'Success not returned.');
     $result->setCode(Result::CODE_FAIL);
     $this->assertFalse($result->isSuccess(), 'Success returned.');
 }
Exemple #2
0
 /**
  * createUser
  *
  * @param User $requestUser requestUser
  *
  * @return Result
  */
 public function createUser(User $requestUser)
 {
     /* <LOW_LEVEL_PREP> */
     /* REMOVE SOME LOW LEVEL - LET THE MAPPER DECIDE
             $result = $this->readUser($requestUser);
     
             if ($result->isSuccess()) {
     
                 // ERROR - user exists
                 return new Result(null, Result::CODE_FAIL, 'User already exists.');
             }
             */
     $responseUser = new User();
     $responseUser->populate($requestUser);
     $requestUser = new ReadOnlyUser($requestUser);
     $state = $responseUser->getState();
     if (empty($state)) {
         $responseUser->setState($this->getDefaultUserState());
     }
     /* </LOW_LEVEL_PREP> */
     /* @event beforeCreateUser */
     $results = $this->getEventManager()->trigger('beforeCreateUser', $this, ['requestUser' => $requestUser, 'responseUser' => $responseUser], function ($result) {
         return !$result->isSuccess();
     });
     if ($results->stopped()) {
         return $results->last();
     }
     /* @event createUser */
     $results = $this->getEventManager()->trigger('createUser', $this, ['requestUser' => $requestUser, 'responseUser' => $responseUser], function ($result) {
         return !$result->isSuccess();
     });
     if ($results->stopped()) {
         $result = $results->last();
         $this->getEventManager()->trigger('createUserFail', $this, ['result' => $result]);
         return $result;
     }
     $result = new Result($responseUser);
     if (!$result->isSuccess()) {
         $this->getEventManager()->trigger('createUserFail', $this, ['result' => $result]);
         return $result;
     }
     /* @event createUserSuccess */
     $this->getEventManager()->trigger('createUserSuccess', $this, ['result' => $result]);
     return $result;
 }
Exemple #3
0
 /**
  * validateUser
  *
  * @param User                 $requestUser requestUser
  * @param InputFilterInterface $inputFilter inputFilter
  *
  * @return Result
  */
 public function validateUser(User $requestUser, InputFilterInterface $inputFilter)
 {
     $validUser = new User();
     $validUser->populate($requestUser);
     $inputFilter->setData($validUser);
     if ($inputFilter->isValid()) {
         $validUser->populate($inputFilter->getValues());
         return new Result($validUser);
     } else {
         $result = new Result($validUser, Result::CODE_FAIL, 'User input not valid');
         foreach ($inputFilter->getInvalidInput() as $error) {
             $msg = $error->getName() . ': ';
             $errs = $error->getMessages();
             foreach ($errs as $key => $val) {
                 $result->setMessage($msg .= "{$val} ({$key})");
             }
         }
         return $result;
     }
 }