/**
  * @Route("/claim/manage/{id}/{validate}", name="icap_badge_workspace_tool_manage_claim")
  * @ParamConverter(
  *     "workspace",
  *     class="ClarolineCoreBundle:Workspace\Workspace",
  *     options={"id" = "workspaceId"}
  * )
  * @Template
  */
 public function manageClaimAction(Workspace $workspace, BadgeClaim $badgeClaim, $validate = false)
 {
     if (null === $badgeClaim->getBadge()->getWorkspace()) {
         throw $this->createNotFoundException('No badge found.');
     }
     $this->checkUserIsAllowed($workspace);
     /** @var \Symfony\Component\Translation\TranslatorInterface $translator */
     $translator = $this->get('translator');
     $successMessage = $translator->trans('badge_reject_award_success_message', array(), 'icap_badge');
     $errorMessage = $translator->trans('badge_reject_award_error_message', array(), 'icap_badge');
     try {
         if ($validate) {
             $successMessage = $translator->trans('badge_validate_award_success_message', array(), 'icap_badge');
             $errorMessage = $translator->trans('badge_validate_award_error_message', array(), 'icap_badge');
             /** @var \Icap\BadgeBundle\Manager\BadgeManager $badgeManager */
             $badgeManager = $this->get('icap_badge.manager.badge');
             $awardedBadge = $badgeManager->addBadgeToUser($badgeClaim->getBadge(), $badgeClaim->getUser());
             if (!$awardedBadge) {
                 $successMessage = $translator->trans('badge_already_award_info_message', array(), 'icap_badge');
             }
         }
         $entityManager = $this->getDoctrine()->getManager();
         $entityManager->remove($badgeClaim);
         $entityManager->flush();
         $this->get('session')->getFlashBag()->add('success', $successMessage);
     } catch (\Exception $exception) {
         $this->get('session')->getFlashBag()->add('error', $errorMessage);
     }
     return $this->redirect($this->generateUrl('icap_badge_workspace_tool_badges', array('workspaceId' => $workspace->getId())));
 }