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)); }