protected function setUp()
 {
     $user = new User();
     $user->setName('Luisa');
     $user->setLastname('Pereira');
     $user->setEmail('*****@*****.**');
     $user->setPassword('123');
     $this->user = $user;
     $user1 = new User();
     $user1->setName('Andres');
     $user1->setLastname('Ramirez');
     $user1->setEmail('*****@*****.**');
     $user1->setPassword('123');
     $this->user1 = $user1;
     $startDate = strtotime("00:00pm February 21 2016");
     $project = new Project();
     $project->setName('p1');
     $project->setStartDate(date("Y-m-d h:i:sa", $startDate));
     $this->project = $project;
     $startSprintDate = strtotime("00:00pm February 25 2016");
     $expectedDate = strtotime("00:00pm March 21 2016");
     $sprint = new Sprint();
     $sprint->setProject($project);
     $sprint->setName('Sprint #1');
     $sprint->setStartDate(date("Y-m-d h:i:sa", $startSprintDate));
     $sprint->setEstimatedDate(date("Y-m-d h:i:sa", $expectedDate));
     $this->sprint = $sprint;
     $item1 = new Item();
     $item1->setSprint($sprint);
     $item1->setTitle('Tarea #1');
     $item1->setType('3');
     $item1->setDesignedUser($user);
     $item1->setEstimatedHours('4');
     $item1->setWorkedHours('6');
     $item1->setStatus('11');
     $item2 = new Item();
     $item2->setSprint($sprint);
     $item2->setTitle('Tarea #2');
     $item2->setType('3');
     $item2->setDesignedUser($user1);
     $item2->setEstimatedHours('4');
     $item2->setWorkedHours('2');
     $item2->setStatus('11');
     $item3 = new Item();
     $item3->setSprint($sprint);
     $item3->setTitle('Solicitud de Cambio #1');
     $item3->setType('6');
     $item3->setDesignedUser($user1);
     $item3->setEstimatedHours('8');
     $item3->setWorkedHours('6');
     $item3->setStatus('5');
     $item4 = new Item();
     $item4->setSprint($sprint);
     $item4->setTitle('Error #1');
     $item4->setType('4');
     $item4->setDesignedUser($user1);
     $item4->setEstimatedHours('10');
     $item4->setWorkedHours('10.5');
     $item4->setStatus('8');
     $item5 = new Item();
     $item5->setSprint($sprint);
     $item5->setTitle('Tarea #3');
     $item5->setType('3');
     $item5->setDesignedUser($user);
     $item5->setEstimatedHours('4');
     $item5->setWorkedHours('3.6');
     $item5->setStatus('5');
     $item6 = new Item();
     $item6->setSprint($sprint);
     $item6->setTitle('Error #2');
     $item6->setType('4');
     $item6->setDesignedUser($user1);
     $item6->setEstimatedHours('5');
     $item6->setWorkedHours('5');
     $item6->setStatus('7');
     $items = array($item1, $item2, $item3, $item4, $item5, $item6);
     $this->items = $items;
 }
 /**
  * Permite crear un item en el sistema
  * @author Cesar Giraldo <*****@*****.**> 21/01/2016
  * @param Request $request
  * @param type $id
  * @param type $itemId
  * @return type
  */
 public function newRelatedItemAction(Request $request, $id, $itemId)
 {
     $em = $this->getDoctrine()->getManager();
     $project = $em->getRepository('BackendBundle:Project')->find($id);
     $item = $em->getRepository('BackendBundle:Item')->find($itemId);
     if (!$project || $project && !$this->container->get('access_control')->isAllowedProject($project->getId())) {
         $this->get('session')->getFlashBag()->add('messageError', $this->get('translator')->trans('backend.project.not_found_message'));
         return $this->redirectToRoute('backend_projects');
     }
     if (!$item || $item && $item->getProject()->getId() != $project->getId()) {
         $this->get('session')->getFlashBag()->add('messageError', $this->get('translator')->trans('backend.item.not_found_message'));
         return $this->redirectToRoute('backend_projects');
     }
     $closeFancy = false;
     $relatedItem = new Entity\Item();
     $relatedItem->setType(Entity\Item::TYPE_TASK);
     $form = $this->createForm(ItemSimpleType::class, $relatedItem);
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         $relatedItem->setProject($project);
         $relatedItem->setSprint($item->getSprint());
         $relatedItem->setParent($item);
         $relatedItem->setStatus(Entity\Item::STATUS_NEW);
         $relatedItem->setUserOwner($this->getUser());
         $em->persist($relatedItem);
         $em->flush();
         //guardamos el registro en el historial
         $this->container->get('app_history')->saveItemHistory($relatedItem, Entity\ItemHistory::ITEM_CREATED);
         if ($form->get('saveAndContinue')->isClicked()) {
             $params = array('id' => $id, 'itemId' => $itemId);
             return $this->redirectToRoute('backend_project_product_backlog_new_related_item', $params);
         } elseif ($form->get('saveAndExit')->isClicked()) {
             $this->get('session')->getFlashBag()->add('messageSuccess', $this->get('translator')->trans('backend.item.creation_success_message'));
             $closeFancy = true;
         }
     }
     return $this->render('BackendBundle:Project/ProductBacklog:newRelatedItem.html.twig', array('project' => $project, 'item' => $item, 'form' => $form->createView(), 'menu' => self::MENU, 'closeFancy' => $closeFancy));
 }