/**
  * Add a new user.
  * 
  * @param string login The login to give the user.
  * @param string password the password in clear.
  * @param core_kernel_classes_Resource role A role to grant to the user.
  * @param core_kernel_classes_Class A specific class to use to instantiate the new user. If not specified, the class returned by the getUserClass method is used.
  * @return core_kernel_classes_Resource the new user
  * @throws core_kernel_users_Exception If an error occurs.
  */
 public function addUser($login, $password, core_kernel_classes_Resource $role = null, core_kernel_classes_Class $class = null)
 {
     if (empty($class)) {
         $class = $this->getRootClass();
     }
     $user = $this->generisUserService->addUser($login, $password, $role, $class);
     //set up default properties
     if (!is_null($user)) {
         $user->setPropertyValue(new core_kernel_classes_Property(PROPERTY_USER_FIRSTTIME), GENERIS_TRUE);
     }
     return $user;
 }
示例#2
0
 public function testAttachUnnatachRole()
 {
     $prefix = LOCAL_NAMESPACE . '#';
     $user = $this->service->addUser('attachUser', 'attachUser');
     $role = new core_kernel_classes_Resource($prefix . 'baseRole');
     $this->service->attachRole($user, $role);
     $userRoles = $this->service->getUserRoles($user);
     $this->assertFalse(empty($userRoles));
     $this->assertEquals(count($userRoles), 2);
     // also contains Generis Role.
     $this->assertTrue(array_key_exists($prefix . 'baseRole', $userRoles));
     $this->service->unnatachRole($user, $role);
     $userRoles = $this->service->getUserRoles($user);
     $this->assertEquals(count($userRoles), 1);
     $this->assertFalse(array_key_exists($prefix . 'baseRole', $userRoles));
     $this->assertTrue($user->delete());
 }