private function createEntity($username, $password, $email) { $securityEncodeFactory = $this->getContainer()->get('security.encoder_factory'); $em = $this->getContainer()->get('doctrine')->getEntityManager(); $groupRepo = $em->getRepository('AppBundle\\Entity\\Group'); $roleAdminGroup = $groupRepo->findOneByRole('ROLE_ADMIN'); $user = new User(); $user->setUsername($username); $user->setPassword($password); $user->setEmail($email); $user->addGroup($roleAdminGroup); $user->setIsActive(true); $encoder = $securityEncodeFactory->getEncoder($user); $password = $encoder->encodePassword($user->getPassword(), $user->getSalt()); $user->setPassword($password); return $user; }
public function processGroupUpdates(UserEntity $user, $data) { $allGroups = $this->groupManager->findGroups(); $allGroupNames = []; foreach ($allGroups as $g) { $allGroupNames[] = $g->getName(); } foreach ($allGroupNames as $groupName) { $g = $this->groupManager->findGroupByName($groupName); if (!in_array($g->getId(), $data['groups'])) { $user->removeGroup($g); } else { if (!$user->hasGroup($g)) { $user->addGroup($g); } } } }
/** * {@inheritDoc} */ public function addGroup(\FOS\UserBundle\Model\GroupInterface $group) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'addGroup', [$group]); return parent::addGroup($group); }
/** * Add user * * @param \AppBundle\Entity\User $user * * @return Group */ public function addUser(\AppBundle\Entity\User $user) { $this->user[] = $user; $user->addGroup($this); return $this; }
<?php require_once __DIR__ . '/../../config/bootstrap.php'; use AppBundle\Entity\User; //Check usage if ($argc !== 6) { echo "Usage:\n php ", basename($argv[0]), ' username email password roles groupID' . PHP_EOL; exit; } //Create User $user = new User($argv[1], $argv[2], $argv[3], explode(" ", $argv[4])); //Get group (object) $entityManager = GetEntityManager(); $groupsRepository = $entityManager->getRepository('AppBundle\\Entity\\Group'); $group = $groupsRepository->find(intval($argv[5])); //Add user to group (many to many) $user->addGroup($group); //Add user to BBDD $entityManager->persist($user); $entityManager->flush();