Example #1
0
 /**
  * ADMINISTRATOR
  *
  * Publish or unpublish an article
  *
  * Note: Only the author or super admins can edit an article
  *
  * @Route("admin/article/publish/{id}/{status}", name="admin_article_publish", requirements={
  *      "id": "\d+",
  *      "status": "true|false"
  * })
  * @Method("GET")
  */
 public function publishAction(Article $article, $status = true)
 {
     $em = $this->getDoctrine()->getManager();
     // ACL: Only author or super admins can edit articles
     if ($this->getUser()->getId() !== $article->getAuthor()->getId()) {
         $this->denyAccessUnlessGranted('ROLE_SUPER_ADMIN', null, 'Vous n\'etes pas authorisé à editer cet article!');
     }
     $status === 'true' ? $status = true : ($status = false);
     $article->setIsPublished($status);
     $em->persist($article);
     $em->flush();
     $this->addFlash('info', 'Article mise à jour avec succès!');
     return $this->redirectToRoute('admin_article_list');
 }