/**
  * Get details.
  *
  * @return array
  */
 public function getNotificationDetails()
 {
     $receiver = $this->getReceiver();
     $workspace = $this->badge->getWorkspace() ? $this->badge->getWorkspace()->getId() : null;
     $notificationDetails = array('workspace' => $workspace, 'badge' => array('id' => $this->badge->getId(), 'name' => $this->badge->getName(), 'slug' => $this->badge->getSlug()), 'receiver' => array('id' => $receiver->getId(), 'publicUrl' => $receiver->getPublicUrl(), 'lastName' => $receiver->getLastName(), 'firstName' => $receiver->getFirstName()));
     return $notificationDetails;
 }
 /**
  * @Route("/unaward/{id}/{username}", name="icap_badge_workspace_tool_badges_unaward")
  * @ParamConverter(
  *     "workspace",
  *     class="ClarolineCoreBundle:Workspace\Workspace",
  *     options={"id" = "workspaceId"}
  * )
  * @ParamConverter("user", options={"mapping": {"username": "******"}})
  * @Template
  */
 public function unawardAction(Request $request, Workspace $workspace, Badge $badge, User $user)
 {
     if (null === $badge->getWorkspace()) {
         throw $this->createNotFoundException('No badge found.');
     }
     $this->checkUserIsAllowed($workspace);
     /** @var \Symfony\Component\Translation\TranslatorInterface $translator */
     $translator = $this->get('translator');
     try {
         $doctrine = $this->getDoctrine();
         /** @var \Doctrine\ORM\EntityManager $entityManager */
         $entityManager = $doctrine->getManager();
         $userBadge = $doctrine->getRepository('IcapBadgeBundle:UserBadge')->findOneByBadgeAndUser($badge, $user);
         $entityManager->remove($userBadge);
         $entityManager->flush();
         $this->get('session')->getFlashBag()->add('success', $translator->trans('badge_unaward_success_message', array(), 'icap_badge'));
     } catch (\Exception $exception) {
         if (!$request->isXmlHttpRequest()) {
             $this->get('session')->getFlashBag()->add('error', $translator->trans('badge_unaward_error_message', array(), 'icap_badge'));
         } else {
             return new Response($exception->getMessage(), 500);
         }
     }
     if ($request->isXmlHttpRequest()) {
         return new JsonResponse(array('error' => false));
     }
     return $this->redirect($this->generateUrl('icap_badge_workspace_tool_badges_edit', array('workspaceId' => $workspace->getId(), 'slug' => $badge->getSlug())));
 }