/** * ajoute une activité * * @Route("/activite-ajout/{niveau}", name="ActiviteAjouter") */ public function ajouterAction(Request $request, Niveau $niveau) { $activite = new Activite(); $activite->setNiveau($niveau); $form = $this->get('form.factory')->createBuilder(new ActiviteType(), $activite)->getForm(); $form->handleRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($activite); $em->flush(); $request->getSession()->getFlashBag()->add('success', 'activite.enregistre'); return $this->redirect($this->generateUrl('ActiviteListe')); } return $this->render('AppBundle:Activite:modifier.html.twig', array('form' => $form->createView())); }
/** * retourne une copie de l'activité, sans l'id * @return Activite */ public function getCopie() { $activite = new Activite(); $activite->setJour($this->getJour()); $activite->setLibelle($this->getLibelle()); $activite->setNbPlaces($this->getNbPlaces()); $activite->setNiveau($this->getNiveau()); return $activite; }
/** * test doublon * @return boolean faux si pas de doublon * @param Activite $activite */ public function existeDeja(Activite $activite) { $activite->getJour(); $activite->getLibelle(); $activite->getNbPlaces(); $activite->getNiveau(); $activite->getId(); $qb = $this->createQueryBuilder('a'); $qb->where('a.jour = :jour')->andWhere('a.libelle = :libelle')->andWhere('a.nbplaces = :nbplaces')->andWhere('a.niveau = :niveau')->andWhere('a.id != :id'); $qb->setParameters(new ArrayCollection(array(new Parameter('jour', $activite->getJour()), new Parameter('libelle', $activite->getLibelle()), new Parameter('nbplaces', $activite->getNbPlaces()), new Parameter('niveau', $activite->getNiveau()), new Parameter('id', $activite->getId())))); $result = $qb->getQuery()->getOneOrNullResult(); return null !== $result; }