/**
  * @Security("has_role('ROLE_USER')")
  * @ParamConverter("colonieMere", options={"mapping": {"colonie_id" : "id"}}) 
  */
 public function essaimerAction(Colonie $colonieMere, Request $request)
 {
     if (!$this->getUser()->canDisplayExploitation($colonieMere->getRuche()->getRucher()->getExploitation()) || !$colonieMere->canBeEssaimee()) {
         throw new NotFoundHttpException('Page inexistante.');
     }
     $colonie = new Colonie();
     // L'origine de la nouvelle colonie est l'essaimage
     $colonie->setOrigineColonie($this->getDoctrine()->getRepository('KGBeekeepingManagementBundle:Origine')->findOneByLibelle("Essaimage"));
     $form = $this->createForm(new EssaimerType($colonieMere), $colonie);
     if ($form->handleRequest($request)->isValid()) {
         $em = $this->getDoctrine()->getManager();
         // On garde en mémoire la ruche de départ
         $rucheMere = $colonieMere->getRuche();
         // La colonie mère est celle qui essaime et qui est placée dans la nouvelle ruche
         $colonieMere->setRuche($colonie->getRuche());
         // On sauvegarde pour casser le lien entre ruche et colonie sinon problème car la ruche sera affectée à deux colonies
         $em->persist($colonieMere);
         $em->flush();
         // On lie la nouvelle colonie à l'ancienne ruche et à la colonie mère
         $colonie->essaimer($rucheMere, $colonieMere);
         $em->persist($colonie);
         $em->flush();
         $flash = $this->get('braincrafted_bootstrap.flash');
         $flash->success('Colonie essaimée avec succès');
         return $this->redirect($this->generateUrl('kg_beekeeping_management_view_rucher', array('rucher_id' => $colonie->getRuche()->getRucher()->getId())));
     }
     return $this->render('KGBeekeepingManagementBundle:Colonie:essaimer.html.twig', array('form' => $form->createView(), 'colonieMere' => $colonieMere));
 }