/**
  * Finds and displays a InterventionPlanned entity.
  *
  * @Template()
  * @Secure(roles="ROLE_USER")
  */
 public function emailAction(Fixing $entity, $step)
 {
     $request = $this->getRequest();
     $steps = array('taken' => 'JLM\\DailyBundle\\Builder\\Email\\FixingTakenMailBuilder', 'distributed' => 'JLM\\DailyBundle\\Builder\\Email\\FixingDistributedMailBuilder', 'onsite' => 'JLM\\DailyBundle\\Builder\\Email\\FixingOnSiteMailBuilder', 'end' => 'JLM\\DailyBundle\\Builder\\Email\\FixingEndMailBuilder', 'report' => 'JLM\\DailyBundle\\Builder\\Email\\FixingReportMailBuilder');
     $class = array_key_exists($step, $steps) ? $steps[$step] : null;
     if (null === $class) {
         throw new NotFoundHttpException('Page inexistante');
     }
     $mail = MailFactory::create(new $class($entity));
     $editForm = $this->createForm(new MailType(), $mail);
     $editForm->handleRequest($request);
     if ($editForm->isValid()) {
         $this->get('mailer')->send(MailFactory::create(new MailSwiftMailBuilder($editForm->getData())));
         $this->get('event_dispatcher')->dispatch(JLMModelEvents::DOOR_SENDMAIL, new DoorEvent($entity->getDoor(), $request));
         return $this->redirect($this->generateUrl('fixing_show', array('id' => $entity->getId())));
     }
     return array('entity' => $entity, 'form' => $editForm->createView(), 'step' => $step);
 }