private function sendFinishedLog(Drop $drop)
 {
     //        var_dump('sendFinishedLog');
     if ($drop != null) {
         //            var_dump('drop not null');
         if ($drop->getDropzone()->getPeerReview() === false or $drop->countFinishedCorrections() >= $drop->getDropzone()->getExpectedTotalCorrection()) {
             //                var_dump('pas de peer review ou bien assez de correction');
             $finished = false;
             if ($drop->getDropzone()->getPeerReview() === true) {
                 //                    var_dump('peer review. mais est ce que le user a corrigé assez de copie');
                 $nbCorrections = $this->entityManager->getRepository('IcapDropzoneBundle:Correction')->countFinished($drop->getDropzone(), $drop->getUser());
                 if ($nbCorrections >= $drop->getDropzone()->getExpectedTotalCorrection()) {
                     $finished = true;
                 }
             } else {
                 //                    var_dump('pas de peer review donc fini !');
                 $finished = true;
             }
             if ($finished === true) {
                 //                    var_dump('finish');
                 $grade = $drop->getCalculatedGrade();
                 $event = new LogDropEvaluateEvent($drop->getDropzone(), $drop, $grade);
                 $event->setDoer($drop->getUser());
                 //                    var_dump('finish grade = '.$grade);
                 $this->eventDispatcher->dispatch('log', $event);
             }
         }
     }
 }
 private function sendFinishedLog(Drop $drop)
 {
     if ($drop != null) {
         if ($drop->getDropzone()->getPeerReview() === false || $drop->countFinishedCorrections() >= $drop->getDropzone()->getExpectedTotalCorrection()) {
             $finished = false;
             if ($drop->getDropzone()->getPeerReview() === true) {
                 $nbCorrections = $this->entityManager->getRepository('IcapDropzoneBundle:Correction')->countFinished($drop->getDropzone(), $drop->getUser());
                 if ($nbCorrections >= $drop->getDropzone()->getExpectedTotalCorrection()) {
                     $finished = true;
                 }
             } else {
                 $finished = true;
             }
             if ($finished === true) {
                 $grade = $drop->getCalculatedGrade();
                 $event = new LogDropEvaluateEvent($drop->getDropzone(), $drop, $grade);
                 $event->setDoer($drop->getUser());
                 $this->eventDispatcher->dispatch('log', $event);
             }
         }
     }
 }
 private function checkUserGradeAvailableByDrop(Drop $drop)
 {
     $user = $drop->getUser();
     $dropzone = $drop->getDropzone();
     $this->checkUserGradeAvailable($dropzone, $drop, $user);
 }
Пример #4
0
 /**
  * @param Drop $drop
  * @param User $user
  *
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  * @Route(
  *      "/unlock/drop/{dropId}",
  *      name="icap_dropzone_unlock_drop",
  *      requirements={"resourceId" = "\d+", "dropId" = "\d+"}
  * )
  * @ParamConverter("drop", class="IcapDropzoneBundle:Drop", options={"id" = "dropId"})
  * @ParamConverter("user", options={
  *      "authenticatedUser" = true,
  *      "messageEnabled" = true,
  *      "messageTranslationKey" = "This action requires authentication. Please login.",
  *      "messageTranslationDomain" = "icap_dropzone"
  * })
  * @Template()
  */
 public function unlockDropAction(Request $request, Drop $drop, User $user)
 {
     $em = $this->getDoctrine()->getManager();
     $drop->setUnlockedDrop(true);
     $em->flush();
     $request->getSession()->getFlashBag()->add('success', $this->get('translator')->trans('Drop have been unlocked', [], 'icap_dropzone'));
     $dropzoneId = $drop->getDropzone()->getId();
     return $this->redirect($this->generateUrl('icap_dropzone_drops_awaiting', ['resourceId' => $dropzoneId]));
 }