setRoles() публичный Метод

public setRoles ( Doctrine\Common\Collections\Collection $roles )
$roles Doctrine\Common\Collections\Collection
Пример #1
0
 /**
  * Creates a new User entity.
  *
  * @param  Request $request
  * @return RedirectResponse|Response
  */
 public function createUserAction(Request $request)
 {
     $journal = $this->get('ojs.journal_service')->getSelectedJournal();
     if (!$this->isGranted('CREATE', $journal, 'userRole')) {
         throw new AccessDeniedException("You are not authorized for this page!");
     }
     $entity = new User();
     $form = $this->createCreateForm($entity, $journal->getId());
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         $formData = $form->getData();
         $factory = $this->get('security.encoder_factory');
         $encoder = $factory->getEncoder($entity);
         $password = $encoder->encodePassword($entity->getPassword(), $entity->getSalt());
         $entity->setPassword($password);
         $em->persist($entity);
         $journalUser = new JournalUser();
         $journalUser->setUser($entity);
         $journalUser->setJournal($journal);
         if (count($formData->getJournalRoles()) > 0) {
             $journalUser->setRoles($formData->getJournalRoles());
         }
         $em->persist($journalUser);
         $em->flush();
         $this->successFlashBag('successful.create');
         return $this->redirectToRoute('ojs_journal_user_index', ['journalId' => $journal->getId()]);
     }
     return $this->render('OjsJournalBundle:JournalUser:new.html.twig', array('entity' => $entity, 'form' => $form->createView()));
 }