コード例 #1
0
 private function createCorrection($grade = null, $valid = true, $finished = true)
 {
     $correction = new Correction();
     $correction->setFinished($finished);
     $correction->setValid($valid);
     $correction->setTotalGrade($grade);
     return $correction;
 }
コード例 #2
0
 /**
  * @Route(
  *      "/{resourceId}/drops/detail/correction/validation/{value}/{correctionId}",
  *      name="icap_dropzone_drops_detail_correction_validation",
  *      requirements={"resourceId" = "\d+", "correctionId" = "\d+", "value" = "no|yes"},
  *      defaults={"routeParam"="default"}
  * )
  * @Route(
  *      "/{resourceId}/drops/detail/correction/validation/byUser/{value}/{correctionId}",
  *      name="icap_dropzone_drops_detail_correction_validation_by_user",
  *      requirements={"resourceId" = "\d+", "correctionId" = "\d+", "value" = "no|yes"},
  *      defaults={"routeParam"="byUser"}
  * )
  * @ParamConverter("dropzone", class="IcapDropzoneBundle:Dropzone", options={"id" = "resourceId"})
  * @ParamConverter("correction", class="IcapDropzoneBundle:Correction", options={"id" = "correctionId"})
  * @Template()
  */
 public function setCorrectionValidationAction(Dropzone $dropzone, Correction $correction, $value, $routeParam)
 {
     $this->get('icap.manager.dropzone_voter')->isAllowToOpen($dropzone);
     $this->get('icap.manager.dropzone_voter')->isAllowToEdit($dropzone);
     $em = $this->getDoctrine()->getManager();
     if ($value == 'yes') {
         $correction->setValid(true);
         $correction->setFinished(true);
     } else {
         $correction->setValid(false);
     }
     $em->persist($correction);
     $em->flush();
     $event = new LogCorrectionValidationChangeEvent($dropzone, $correction->getDrop(), $correction);
     $this->dispatch($event);
     //Notify user his copy has an available note
     $this->checkUserGradeAvailableByDrop($correction->getDrop());
     if ($routeParam == 'default') {
         return $this->redirect($this->generateUrl('icap_dropzone_drops_detail', array('resourceId' => $dropzone->getId(), 'dropId' => $correction->getDrop()->getId())));
     } else {
         if ($routeParam == "byUser") {
             return $this->redirect($this->generateUrl('icap_dropzone_examiner_corrections', array('resourceId' => $dropzone->getId(), 'userId' => $correction->getUser()->getId())));
         }
     }
 }
コード例 #3
0
 /**
  * @Route(
  *      "/{resourceId}/remove/report/{dropId}/{correctionId}/{invalidate}",
  *      name="icap_dropzone_remove_report",
  *      requirements={"resourceId" = "\d+", "dropId" = "\d+", "correctionId" = "\d+", "invalidate" = "0|1"}
  * )
  * @ParamConverter("dropzone", class="IcapDropzoneBundle:Dropzone", options={"id" = "resourceId"})
  * @ParamConverter("drop", class="IcapDropzoneBundle:Drop", options={"id" = "dropId"})
  * @ParamConverter("correction", class="IcapDropzoneBundle:Correction", options={"id" = "correctionId"})
  * @Template()
  */
 public function removeReportAction(Dropzone $dropzone, Drop $drop, Correction $correction, $invalidate)
 {
     $this->get('icap.manager.dropzone_voter')->isAllowToOpen($dropzone);
     $this->get('icap.manager.dropzone_voter')->isAllowToEdit($dropzone);
     $em = $this->getDoctrine()->getManager();
     $correction->setReporter(false);
     if ($invalidate === 1) {
         $correction->setValid(false);
     }
     $em->persist($correction);
     $em->flush();
     $correctionRepo = $this->getDoctrine()->getRepository('IcapDropzoneBundle:Correction');
     if ($correctionRepo->countReporter($dropzone, $drop) === 0) {
         $drop->setReported(false);
         $em->persist($drop);
         $em->flush();
     }
     $event = new LogCorrectionUpdateEvent($dropzone, $drop, $correction);
     $this->dispatch($event);
     return $this->redirect($this->generateUrl('icap_dropzone_drops_detail', ['resourceId' => $dropzone->getId(), 'dropId' => $drop->getId()]));
 }