/** * {@inheritDoc} */ public function load(ObjectManager $manager) { $adminGroup = $this->getReference("admin-group"); $adminUser = $this->getReference("admin-user"); $userGroup = new UserGroup(); $userGroup->setGroup($adminGroup); $userGroup->setUser($adminUser); $manager->persist($userGroup); $manager->flush(); }
private function getAddUserGroupForm($groupid, User $user) { $em = $this->getDoctrine()->getManager(); $groupRepo = $em->getRepository('AppBundle:Groups'); /** @var Groups $login */ $group = $groupRepo->findOneById($groupid); $this->denyAccessUnlessGranted('admin', $group); /** @var UserGroup $usergroup */ $usergroup = new UserGroup(); $usergroup->setUser($user); $usergroup->setGroup($group); $form = $this->createForm(UserGroupType::class, $usergroup); return $form; }
/** * @Route("/groups/new", name="new_group") */ public function createGroup(Request $request) { $group = new Groups(); $form = $this->createForm(GroupsType::class, $group); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($group); // Add yourself to group $currentuser = $this->get('security.token_storage')->getToken()->getUser(); $usergroup = new UserGroup(); $usergroup->setGroup($group); $usergroup->setUser($currentuser); $usergroup->setAdminAccess(true); $keyProtect = $this->get('appbundle.key_protect'); // Generate a key for this group $usergroup->setGroupKey($keyProtect->newEncryptedGroupKeyForCurrentUser()); $em->persist($usergroup); $em->flush(); return $this->redirectToRoute('groups'); } return $this->render('AppBundle:Default:newgroup.html.twig', ['form' => $form->createView()]); }