Example #1
0
 /**
  * Checks whether the given user has the given permission.
  *
  * Returns TRUE in case the given user is authenticated.
  * Otherwise returns FALSE.
  *
  * @param \Ableron\Modules\Core\Model\Entities\UserEntity $user The user to check
  * @param \Ableron\Modules\Core\Model\Entities\PermissionEntity $permission The permission to check
  * @return bool
  */
 public static function hasPermission(UserEntity $user, PermissionEntity $permission)
 {
     foreach ($user->getRoles() as $role) {
         if ($role->getPermissions()->contains($permission)) {
             return true;
         }
     }
     return false;
 }
Example #2
0
 /**
  * Tests whether the constructor works as expected.
  *
  * @return void
  */
 public function testConstructorSetsParametersCorrectly()
 {
     $user = new UserEntity('username', 'passwordHash', 'emailAddress', 'firstName', 'lastName');
     $this->assertNull($user->getId());
     $this->assertSame('username', $user->getUsername());
     $this->assertSame('passwordHash', $user->getPasswordHash());
     $this->assertSame('emailAddress', $user->getEmailAddress());
     $this->assertSame('firstName', $user->getFirstName());
     $this->assertSame('lastName', $user->getLastName());
     $this->assertSame('firstName lastName', $user->getDisplayName());
     $this->assertEmpty($user->getRoles()->count());
 }
 /**
  * Tests whether findByUsername works as expected.
  *
  * @return void
  */
 public function testFindByUsername()
 {
     // define username
     $username = '******';
     // create user entity
     $user = new UserEntity($username, '', '', '', '');
     // verify user does not exist
     $this->assertNull(Application::getPersistenceManager()->getRepository('UserEntity')->findByUsername($user->getUsername()));
     // create user
     Application::getPersistenceManager()->getEntityManager()->persist($user);
     Application::getPersistenceManager()->getEntityManager()->flush();
     // verify user exist
     $userFromDb = Application::getPersistenceManager()->getRepository('UserEntity')->findByUsername($user->getUsername());
     $this->assertNotNull($userFromDb);
     $this->assertSame($username, $userFromDb->getUsername());
     $this->assertNotNull($username, $userFromDb->getId());
     // remove user
     Application::getPersistenceManager()->getEntityManager()->remove($user);
     Application::getPersistenceManager()->getEntityManager()->flush();
 }
 /**
  * Creates an admin account.
  *
  * @return void
  */
 private function createAdminAccount()
 {
     // create user entity
     $user = new UserEntity($this->getInstaller()->getInstallationParameter('admin.username'), Password::hash($this->getInstaller()->getInstallationParameter('admin.password')), $this->getInstaller()->getInstallationParameter('admin.emailAddress'), $this->getInstaller()->getInstallationParameter('admin.firstName'), $this->getInstaller()->getInstallationParameter('admin.lastName'));
     // assign root role
     $user->getRoles()->add(Application::getPersistenceManager()->getRepository('RoleEntity')->findOneBy(array('name' => 'Root')));
     // write changes to database
     Application::getPersistenceManager()->getEntityManager()->persist($user);
     Application::getPersistenceManager()->getEntityManager()->flush();
 }