コード例 #1
0
 /**
  * @Route("/{id}", name="icap_badge_badge_collection_delete", defaults={"_format" = "json"})
  * @Method({"DELETE"})
  * @ParamConverter("user", options={"authenticatedUser" = true})
  */
 public function deleteAction(Request $request, User $user, BadgeCollection $collection)
 {
     if ($collection->getUser() !== $user) {
         throw new AccessDeniedHttpException();
     }
     $entityManager = $this->getDoctrine()->getManager();
     $entityManager->remove($collection);
     $entityManager->flush();
     $view = View::create();
     $view->setStatusCode(204);
     return $this->get('fos_rest.view_handler')->handle($view);
 }
コード例 #2
0
 /**
  * @Route("/{slug}/{locale}", name="icap_badge_badge_collection_share_view", defaults={"locale"= "fr"})
  * @Template
  */
 public function shareViewAction(Request $request, BadgeCollection $collection, $locale)
 {
     $request->setLocale($locale);
     if (!$collection->isIsShared()) {
         throw $this->createNotFoundException('Collection not shared.');
     }
     if (!$this->container->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')) {
         $showBanner = false;
     } else {
         $showBanner = $this->getUser() === $collection->getUser();
     }
     return array('collection' => $collection, 'user' => $collection->getUser(), 'showBanner' => $showBanner);
 }