Пример #1
0
 /**
  * Returns the latest results for each test in the requested group
  * 
  * @Route("/group/{id}")
  * @Method({"GET"})
  * @Security("is_granted('view', group)")
  * @ApiDoc(
  *     requirements={
  *         {"name"="id", "description"="The ID of the group for which to return results for", "dataType"="integer", "requirement"="\d+"}
  *     },
  *     filters={
  *         {"name"="pageSize", "description"="How many results to return per test per page","type"="Integer","default"=10,"maximum"=100},
  *         {"name"="page", "description"="The page number to return results from","type"="Integer","default"=1}
  *     },
  *     tags={
  *         "Super Admin" = "#ff1919",
  *         "Admin" = "#ffff33",
  *         "User" = "#75ff47"
  *     }
  * )
  */
 public function getRecentGroupResults(TestGroup $group, Request $request)
 {
     $results = [];
     $size = $request->query->get('pageSize', 10);
     foreach ($group->getTests()->toArray() as $test) {
         $results[] = $this->getEntityRepository("OverwatchResultBundle:TestResult")->getResults(["test" => $test], $size >= 100 ? 10 : $size, $request->query->get('page', 1));
     }
     return new JsonResponse($results);
 }
Пример #2
0
 public function load(ObjectManager $em)
 {
     $group1 = new TestGroup();
     $group1->setName("Group 1");
     $em->persist($group1);
     $group2 = new TestGroup();
     $group2->setName("Group 2");
     $em->persist($group2);
     $group3 = new TestGroup();
     $group3->setName("Group 3 - Empty");
     $em->persist($group3);
     $this->addReference('group-1', $group1);
     $this->addReference('group-2', $group2);
     $this->addReference('group-3', $group3);
     $em->flush();
 }
Пример #3
0
 /**
  * Returns a list of tests in the given group
  * 
  * @Route("/group/{id}")
  * @Method({"GET"})
  * @Security("is_granted('view', group)")
  * @ApiDoc(
  *     requirements={
  *         {"name"="id", "description"="The ID of the group to return tests from", "dataType"="integer", "requirement"="\d+"}
  *     },
  *     tags={
  *         "Super Admin" = "#ff1919",
  *         "Admin" = "#ffff33",
  *         "User" = "#75ff47"
  *     }
  * )
  */
 public function getTestsInGroup(TestGroup $group)
 {
     return new JsonResponse($group->getTests()->toArray());
 }
Пример #4
0
 private function getMockTest($userInGroup = TRUE)
 {
     $group = new TestGroup();
     $group->setName("MemeGroup1");
     $test = $this->getMock('Overwatch\\TestBundle\\Entity\\Test', ['getGroup']);
     $test->method('getGroup')->willReturn($group);
     if ($userInGroup === TRUE) {
         $group->addUser($this->user);
     }
     return $test;
 }
Пример #5
0
 /**
  * Removes the given user from the given group
  * 
  * @Route("/{groupId}/user/{userId}")
  * @Method({"DELETE"})
  * @Security("has_role('ROLE_SUPER_ADMIN')")
  * @ParamConverter("group", class="OverwatchTestBundle:TestGroup", options={"id" = "groupId"})
  * @ParamConverter("user", class="OverwatchUserBundle:User", options={"id" = "userId"})
  * @ApiDoc(
  *     requirements={
  *         {"name"="userId", "description"="The ID of the user", "dataType"="integer", "requirement"="\d+"},
  *         {"name"="groupId", "description"="The ID of the group", "dataType"="integer", "requirement"="\d+"}
  *     },
  *     tags={
  *         "Super Admin" = "#ff1919"
  *     }
  * )
  */
 public function removeUserFromGroup(TestGroup $group, User $user)
 {
     $group->removeUser($user);
     $this->_em->flush();
     return new JsonResponse($user);
 }