/** * Makes new Issue Object and sets the values from the raw data in JiraClient * @param $data * @return issue */ public static function buildIssueFromArray($data) { $issue = new Issue(); if (!$data == null && !array_key_exists(['errorMessages'][0], $data)) { if (!array_key_exists(['issues'][0], $data)) { throw new Exception('Please add an issue with custom fields to set a start date of the project.'); } else { $issue->setStartDate($data['issues'][0]['fields']['customfield_10010']); } if (!array_key_exists(['issues'][0], $data)) { throw new Exception('Please add an issue with custom fields to set a end date of the project.'); } else { $issue->setEndDate($data['issues'][0]['fields']['customfield_10011']); } } else { throw new Exception('Error message: ' . $data['errorMessages'][0] . " The JQL Url in parameters.yml isn't set correctly", 500); } return $issue; }
public function load(ObjectManager $manager) { $admin = $this->getReference('user_admin'); $userManager = $this->getReference('user_manager'); $operator = $this->getReference('user_operator'); $issue = new Issue(); $issue->setReporter($admin)->setAssignee($admin)->setProject($this->getReference('project_one'))->setSummary('First task for admin')->setCode('task-one')->setDescription('Some test describe words for first task')->setType(EnumTypeIssue::TASK)->setPriority(EnumPriorityIssue::MINOR)->setStatus(EnumStatusIssue::OPEN); $manager->persist($issue); $issueTwo = new Issue(); $issueTwo->setReporter($admin)->setAssignee($userManager)->setProject($this->getReference('project_two'))->setSummary('Second task for admin')->setCode('task-two')->setDescription('Some test describe words for second task')->setType(EnumTypeIssue::STORY)->setPriority(EnumPriorityIssue::CRITICAL)->setStatus(EnumStatusIssue::OPEN); $manager->persist($issueTwo); $issueThree = new Issue(); $issueThree->setReporter($admin)->setAssignee($operator)->setProject($this->getReference('project_three'))->setSummary('Third task for admin')->setCode('task-three')->setDescription('Some test describe words for task number three')->setType(EnumTypeIssue::BUG)->setPriority(EnumPriorityIssue::MAJOR)->setStatus(EnumStatusIssue::OPEN); $manager->persist($issueThree); $manager->flush(); $this->addReference('issue_one', $issue); $this->addReference('issue_two', $issueTwo); $this->addReference('issue_three', $issueThree); }
/** * @Route("/notebook/issues/createIssue/", name="issuesCreateIssue") * @Method("POST") */ public function createIssueAction(Request $request) { $project = $request->request->get('project'); $folder = $request->request->get('folder'); $date = new \DateTime("now"); $user = $this->get('security.token_storage')->getToken()->getUser(); $userId = $user->getId(); $issuesResult = $this->getDoctrine()->getRepository('AppBundle:Issue')->findBy(array('userId' => $userId), array('userSpecificId' => 'DESC')); if ($issuesResult) { $nextSpecificId = $issuesResult[0]->getUserSpecificId() + 1; } else { $nextSpecificId = 1; } $issue = new Issue(); $issue->setUserId($userId); $issue->setUserSpecificId($nextSpecificId); $issue->setDateCreated($date); $issue->setDateModified($date); $issue->setTitle(""); $issue->setDescription(""); $issue->setIsCompleted(false); $issue->setLabels(""); $issue->setProject($project); $issue->setFolder($folder); $em = $this->getDoctrine()->getManager(); $em->persist($issue); $em->flush(); $viewUrl = $this->generateUrl("singleIssue", array('id' => $issue->getId())); $response = new JsonResponse(array('id' => $issue->getId(), 'itemId' => $issue->getUserSpecificId(), 'project' => $issue->getProject(), 'folder' => $issue->getFolder(), 'viewUrl' => $viewUrl)); return $response; }
/** * Creates a form to delete a Issue entity. * * @param Issue $issue The Issue entity * * @return \Symfony\Component\Form\Form The form */ private function createDeleteForm(Issue $issue) { return $this->createFormBuilder()->setAction($this->generateUrl('issue_delete', array('id' => $issue->getId())))->setMethod('DELETE')->getForm(); }
/** * @Route("/{issue}/comment/new", name="issue_new_comment") * @ParamConverter("issue", class="AppBundle:Issue", options={"repository_method" = "findOneByCode"}) * @Security("is_granted('create', issue)") * @Template("AppBundle:Issue:edit.html.twig") */ public function newCommentAction(Issue $issue) { $comment = new Comment(); $form = $this->createForm('app_issue_comment', $comment, ['action' => $this->generateUrl('issue_new_comment', ['issue' => $issue->getCode()]), 'method' => 'POST']); if ($this->get('request')->getMethod() === 'POST') { $form->handleRequest($this->get('request')); if ($form->isValid()) { $user = $this->getUser(); $comment->setAuthor($user); $comment->setIssue($issue); $issue->addComment($comment); $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($comment); $entityManager->flush(); return $this->redirect($this->generateUrl('issue_show', ['issue' => $issue->getCode()])); } } return ['entity' => $comment->getIssue(), 'form' => $form->createView()]; }
public function findByIssue(Issue $issue) { $query = $this->createQueryBuilder('activity'); $query->leftJoin('activity.project', 'p')->leftJoin('activity.issue', 'i')->leftJoin('activity.user', 'u')->where('i.id = :issue_id')->setParameter('issue_id', $issue->getId())->orderBy('activity.created', 'DESC')->setMaxResults(16); return $query->getQuery()->getResult(); }