public function addUserType(\Newscoop\Entity\User\Group $type) { $this->__load(); return parent::addUserType($type); }
/** * Set user types * * @param Newscoop\Entity\User $user * @param array $types * @return void */ private function setUserTypes(User $user, array $types) { $user->getUserTypes()->clear(); foreach ($types as $type) { $user->addUserType($this->getEntityManager()->getReference('Newscoop\\Entity\\User\\Group', $type)); } }
/** * Create new activated user * * @param string $email * @param string $password * @param string $firstName * @param string $lastName * @param integer $publication */ public function createUser($email, $password, $username, $firstName = null, $lastName = null, $publication = 0, $public = true, $userTypes = array(), $isAdmin = false) { $users = $this->findBy(array('email' => $email)); if (!empty($users)) { throw new \Newscoop\Exception\ResourcesConflictException("User with this email already exists"); } $user = new User($email); $user->setPassword($password); $user->setUsername($username); $user->setPublic($public); $user->setActive(); $user->setFirstName($firstName); $user->setLastName($lastName); $user->setPublication($publication); $user->setAdmin($isAdmin); foreach ($userTypes as $type) { $user->addUserType($this->em->getReference('Newscoop\\Entity\\User\\Group', $type)); } $this->em->persist($user); $this->em->flush(); return $user; }
public function testSaveWithGroup() { $group = new Group(); $group->setName('test'); $this->em->persist($group); $user = new User('name'); $user->addUserType($group); $this->repository->save($user, array('username' => 'uname', 'email' => '*****@*****.**', 'user_type' => array())); $this->assertEquals(0, count($user->getGroups())); }