mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
[export controller] skip the page "select a center" when the configuration value of filter_stats_by_center
is set to false
This commit is contained in:
parent
a6e930958b
commit
4375ecf49a
@ -27,6 +27,7 @@ use Chill\MainBundle\Security\Authorization\SavedExportVoter;
|
|||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
|
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||||
use Symfony\Component\Form\FormFactoryInterface;
|
use Symfony\Component\Form\FormFactoryInterface;
|
||||||
@ -46,6 +47,8 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
|||||||
*/
|
*/
|
||||||
class ExportController extends AbstractController
|
class ExportController extends AbstractController
|
||||||
{
|
{
|
||||||
|
private readonly bool $filterStatsByCenters;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly ChillRedis $redis,
|
private readonly ChillRedis $redis,
|
||||||
private readonly ExportManager $exportManager,
|
private readonly ExportManager $exportManager,
|
||||||
@ -56,8 +59,11 @@ class ExportController extends AbstractController
|
|||||||
private readonly EntityManagerInterface $entityManager,
|
private readonly EntityManagerInterface $entityManager,
|
||||||
private readonly ExportFormHelper $exportFormHelper,
|
private readonly ExportFormHelper $exportFormHelper,
|
||||||
private readonly SavedExportRepositoryInterface $savedExportRepository,
|
private readonly SavedExportRepositoryInterface $savedExportRepository,
|
||||||
private readonly Security $security
|
private readonly Security $security,
|
||||||
) {}
|
ParameterBagInterface $parameterBag,
|
||||||
|
) {
|
||||||
|
$this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/exports/download/{alias}", name="chill_main_export_download", methods={"GET"})
|
* @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/exports/download/{alias}", name="chill_main_export_download", methods={"GET"})
|
||||||
@ -484,9 +490,13 @@ class ExportController extends AbstractController
|
|||||||
|
|
||||||
$alias = $rawData['alias'];
|
$alias = $rawData['alias'];
|
||||||
|
|
||||||
$formCenters = $this->createCreateFormExport($alias, 'generate_centers', [], $savedExport);
|
if ($this->filterStatsByCenters) {
|
||||||
$formCenters->submit($rawData['centers']);
|
$formCenters = $this->createCreateFormExport($alias, 'generate_centers', [], $savedExport);
|
||||||
$dataCenters = $formCenters->getData();
|
$formCenters->submit($rawData['centers']);
|
||||||
|
$dataCenters = $formCenters->getData();
|
||||||
|
} else {
|
||||||
|
$dataCenters = ['centers' => []];
|
||||||
|
}
|
||||||
|
|
||||||
$formExport = $this->createCreateFormExport($alias, 'generate_export', $dataCenters, $savedExport);
|
$formExport = $this->createCreateFormExport($alias, 'generate_export', $dataCenters, $savedExport);
|
||||||
$formExport->submit($rawData['export']);
|
$formExport->submit($rawData['export']);
|
||||||
@ -513,6 +523,14 @@ class ExportController extends AbstractController
|
|||||||
*/
|
*/
|
||||||
private function selectCentersStep(Request $request, DirectExportInterface|ExportInterface $export, $alias, SavedExport $savedExport = null)
|
private function selectCentersStep(Request $request, DirectExportInterface|ExportInterface $export, $alias, SavedExport $savedExport = null)
|
||||||
{
|
{
|
||||||
|
if (!$this->filterStatsByCenters) {
|
||||||
|
return $this->redirectToRoute('chill_main_export_new', [
|
||||||
|
'step' => $this->getNextStep('centers', $export),
|
||||||
|
'alias' => $alias,
|
||||||
|
'from_saved' => $request->get('from_saved', ''),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
/** @var \Chill\MainBundle\Export\ExportManager $exportManager */
|
/** @var \Chill\MainBundle\Export\ExportManager $exportManager */
|
||||||
$exportManager = $this->exportManager;
|
$exportManager = $this->exportManager;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user