/** * @param Clubs $club * @param User $user * @return bool */ private function addUserToRequestClub(Clubs $club, User $user) { $em = $this->getDoctrine()->getManager(); if ($em->getRepository('FfjvBoBundle:UserHasClubs')->findBy(array('user' => $user, 'club' => $club))) { $this->addFlash('error', 'Votre demande n\'a pus aboutir, vous avez déjà fait une requête à ce club'); return false; } $userHasClub = new UserHasClubs(); $userHasClub->setUser($user); $userHasClub->setClub($club); $userHasClub->setRoles(array('ROLES_REQUEST_TO_JOIN')); $userHasClub->setRequestToJoin(2); $em->persist($userHasClub); $em->flush(); return true; }
/** * @param Clubs $club * @param User $user * @param array $role * @return bool * @throws \Exception */ private function addMemberToClub(Clubs $club, User $user, $role = array("ROLE_USER")) { $em = $this->getDoctrine()->getManager(); if (!$club) { throw new \Exception('this id club not exist'); } //if club not esixt || user is not author $authorizationChecker = $this->get('security.authorization_checker'); if (false === $authorizationChecker->isGranted('EDIT', $club)) { throw new AccessDeniedException(); } $userHasClub = new UserHasClubs(); $userHasClub->setClub($club); $userHasClub->setUser($user); $userHasClub->setRoles($role); $em->persist($userHasClub); $em->flush(); return true; }