protected function getNewUser($prefix = 'A') { $user = new User(); $user->setId($prefix . '_id'); $user->setUsername($prefix . '_username'); $user->setPassword($prefix . '_password'); $user->setState($prefix . '_state'); $user->setProperties(['property1', $prefix . '_property1']); $user->setProperty('property2', $prefix . '_property2'); return $user; }
/** * testConstruct * * @covers \RcmUser\User\Entity\ReadOnlyUser::__construct * @covers \RcmUser\User\Entity\ReadOnlyUser::populate * * @return void */ public function testConstruct() { $user = new User(); $user->setId('id'); $user->setUsername('username'); $user->setPassword('password'); $user->setState('disabled'); $user->setName('name'); $user->setEmail('*****@*****.**'); $user->setProperties(['A' => 'something']); return new ReadOnlyUser($user); }
protected function addUsers($username, $password, $fullname, $email) { $sm = $this->getServiceLocator(); /** @var \RcmUser\Service\RcmUserService $userService */ $userService = $sm->get('RcmUser\\Service\\RcmUserService'); /** @var \RcmUser\User\Service\UserRoleService $userRoleService */ $userRoleService = $sm->get('RcmUser\\User\\Service\\UserRoleService'); /** @var \RcmUser\Acl\Service\AclDataService $aclDataService */ $aclDataService = $sm->get('RcmUser\\Acl\\AclDataService'); $user = new User(); $user->setUsername($username); $user->setPassword($password); $user->setEmail($email); $user->setName($fullname); $user->setState('enabled'); $response = $userService->createUser($user); if (!$response->isSuccess()) { throw new \Exception(implode("<br />", $response->getMessages())); } $user = $response->getData(); $suRoleIdResponse = $aclDataService->getSuperAdminRoleId(); $suRoleId = $suRoleIdResponse->getData(); $suRole = new AclRole(); $suRole->setRoleId($suRoleId); $suRole->setDescription('Super Admin Role'); $response = $aclDataService->createRole($suRole); if (!$response->isSuccess()) { throw new \Exception(implode("<br />", $response->getMessages())); } $guestRoleIdResponse = $aclDataService->getGuestRoleId(); $guestRoleId = $guestRoleIdResponse->getData(); $guestRole = new AclRole(); $guestRole->setRoleId($guestRoleId); $guestRole->setDescription('Default Guest'); $response = $aclDataService->createRole($guestRole); if (!$response->isSuccess()) { throw new \Exception(implode("<br />", $response->getMessages())); } $response = $userRoleService->addRole($user, $suRoleId); if (!$response->isSuccess()) { throw new \Exception(implode("<br />", $response->getMessages())); } }
/** * updateUser * * @param User $requestUser requestUser * * @return Result */ public function updateUser(User $requestUser) { /* <LOW_LEVEL_PREP> */ // require id $id = $requestUser->getId(); if (empty($id)) { return new Result(null, Result::CODE_FAIL, 'User Id required for update.'); } // check if exists $existingUserResult = $this->readUser($requestUser); if (!$existingUserResult->isSuccess()) { // ERROR return $existingUserResult; } $existingUser = $existingUserResult->getUser(); $existingUser = new ReadOnlyUser($existingUser); $requestUser->merge($existingUser); $responseUser = new User(); $responseUser->populate($requestUser); $requestUser = new ReadOnlyUser($requestUser); $state = $responseUser->getState(); if (empty($state)) { $responseUser->setState($this->getDefaultUserState()); } /* </LOW_LEVEL_PREP> */ /* @event beforeUpdateUser */ $results = $this->getEventManager()->trigger('beforeUpdateUser', $this, ['requestUser' => $requestUser, 'responseUser' => $responseUser, 'existingUser' => $existingUser], function ($result) { return !$result->isSuccess(); }); if ($results->stopped()) { return $results->last(); } /* @event updateUser */ $results = $this->getEventManager()->trigger('updateUser', $this, ['requestUser' => $requestUser, 'responseUser' => $responseUser, 'existingUser' => $existingUser], function ($result) { return !$result->isSuccess(); }); if ($results->stopped()) { $result = $results->last(); $this->getEventManager()->trigger('updateUserFail', $this, ['result' => $result]); return $result; } $result = new Result($responseUser); /* @event updateUser */ $this->getEventManager()->trigger('updateUserSuccess', $this, ['result' => $result]); return $result; }
/** * prepareUserUpdate * * @param User $requestUser requestUser * @param User $responseUser responseUser * @param User $existingUser existingUser * * @return Result */ public function prepareUserUpdate(User $requestUser, User $responseUser, User $existingUser) { // PASSWORD CHECKS $requestPassword = $requestUser->getPassword(); $existingPassword = $existingUser->getPassword(); //$hashedPassword = $existingPassword; // if password changed if ($existingPassword !== $requestPassword) { $hashedPassword = $this->getEncryptor()->create($requestPassword); $responseUser->setPassword($hashedPassword); } // STATE $requestState = $requestUser->getState(); $existingState = $existingUser->getState(); if ($requestState !== $existingState) { $responseUser->setState($requestState); } return new Result($responseUser); }
/** * setState * * @param string $state state * * @return void * @throws \RcmUser\Exception\RcmUserReadOnlyException */ public function setState($state) { if (!$this->locked) { return parent::setState($state); } throw new RcmUserReadOnlyException('Object is READ ONLY'); }
/** * testIsEnabled * * @covers \RcmUser\User\Entity\User::isEnabled * * @return void */ public function testIsEnabled() { $user = new User(); $user->setState(User::STATE_DISABLED); $this->assertFalse($user->isEnabled(), 'State check failed.'); }