rename news item history controller

This commit is contained in:
2023-11-21 09:39:59 +01:00
parent f7de5fe1ed
commit 8f3256e46e

View File

@@ -0,0 +1,57 @@
<?php
declare(strict_types=1);
/*
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace Chill\MainBundle\Controller;
use Chill\MainBundle\Pagination\PaginatorFactory;
use Chill\MainBundle\Repository\NewsItemRepository;
use Chill\MainBundle\Templating\Listing\FilterOrderHelper;
use Chill\MainBundle\Templating\Listing\FilterOrderHelperFactoryInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class NewsItemHistoryController extends AbstractController
{
public function __construct(
private readonly NewsItemRepository $newsItemRepository,
private readonly PaginatorFactory $paginatorFactory,
private readonly FilterOrderHelperFactoryInterface $filterOrderHelperFactory,
) {}
/**
* @Route("/{_locale}/news-items/history", name="chill_main_news_items_history")
*/
public function listAction(Request $request): Response
{
$filter = $this->buildFilterOrder(false);
$total = $this->newsItemRepository->countAllFilteredByUser($filter->getQueryString());
$newsItems = $this->newsItemRepository->findAllFilteredByUser($filter->getQueryString());
$pagination = $this->paginatorFactory->create($total);
return $this->render('@ChillMain/NewsItem/news_items_history.html.twig', [
'entities' => $newsItems,
'paginator' => $pagination,
'filter_order' => $filter,
]);
}
private function buildFilterOrder($includeFilterByUser = true, $includeMissionType = false): FilterOrderHelper
{
$filterBuilder = $this->filterOrderHelperFactory
->create(self::class)
->addSearchBox();
return $filterBuilder->build();
}
}