<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Entity\SaquitoPagina;
use App\Entity\SaquitoNoticia;
/**
* Controlador principal del Bundle Noticias
*
* @Route("/articulos")
*
* @category Controladores
* @package Saquito
* @copyright (c) 2022, APDiseño
* @author Andrés Pieruccioni <andrespieruccioni@gmail.com>
*/
class NoticiasController extends AbstractController
{
/**
* Renderiza una página con la noticia seleccionada
*
* @Route("/{_locale}/articulo/{id}/{slug}", name="saquito_noticias_ver")
*
* @author Andrés Pieruccioni <andrespieruccioni@gmail.com>
*
* @category function
* @param saquitiNoticia $articulo Noticia a mostrar
* @return string Código HTML de la página con la noticia
*/
public function verArticuloAction(saquitoNoticia $articulo): Response
{
$pagina = new saquitoPagina;
if ($this->get('security.authorization_checker')->isGranted('ROLE_USER') or ($articulo->isPrivado() == false)) {
$pagina->setTitulo($articulo->getTitulo());
$pagina->setDescripcion($articulo->getCopete());
if(!$this->get('security.authorization_checker')->isGranted('ROLE_USER'))
{
$em = $this->getDoctrine()->getManager();
$articulo->setVisualizaciones( $articulo->getVisualizaciones() + 1 );
$em->persist($articulo);
$em->flush();
}
return $this->render(
'noticias/ver.html.twig',
array( 'articulo' => $articulo,'pagina' => $pagina ));
} else {
throw new \Exception('Esta información tiene acceso restringido.');
}
}
}