[export form] decouple data from PickCenter form

This commit is contained in:
2023-06-01 14:02:48 +02:00
parent 77f8cf0e1a
commit d1e1b1c4ce
5 changed files with 68 additions and 24 deletions

View File

@@ -13,6 +13,7 @@ namespace Chill\MainBundle\Controller;
use Chill\MainBundle\Entity\SavedExport;
use Chill\MainBundle\Entity\User;
use Chill\MainBundle\Export\ExportFormHelper;
use Chill\MainBundle\Export\ExportManager;
use Chill\MainBundle\Form\SavedExportType;
use Chill\MainBundle\Form\Type\Export\ExportType;
@@ -86,7 +87,8 @@ class ExportController extends AbstractController
LoggerInterface $logger,
SessionInterface $session,
TranslatorInterface $translator,
EntityManagerInterface $entityManager
EntityManagerInterface $entityManager,
private readonly ExportFormHelper $exportFormHelper,
) {
$this->entityManager = $entityManager;
$this->redis = $chillRedis;
@@ -293,10 +295,15 @@ class ExportController extends AbstractController
$isGenerate = strpos($step, 'generate_') === 0;
$builder = $this->formFactory
->createNamedBuilder(null, FormType::class, [], [
'method' => $isGenerate ? 'GET' : 'POST',
'csrf_protection' => $isGenerate ? false : true,
]);
->createNamedBuilder(
null,
FormType::class,
$this->exportFormHelper->getDefaultData($step, $exportManager->getExport($alias)),
[
'method' => $isGenerate ? 'GET' : 'POST',
'csrf_protection' => $isGenerate ? false : true,
]
);
// TODO: add a condition to be able to select a regroupment of centers?
@@ -341,7 +348,7 @@ class ExportController extends AbstractController
*
* @return \Symfony\Component\HttpFoundation\Response
*/
protected function exportFormStep(Request $request, $export, $alias)
private function exportFormStep(Request $request, $export, $alias)
{
$exportManager = $this->exportManager;
@@ -405,7 +412,7 @@ class ExportController extends AbstractController
*
* @return \Symfony\Component\HttpFoundation\Response
*/
protected function formatterFormStep(Request $request, $export, $alias)
private function formatterFormStep(Request $request, $export, $alias)
{
// check we have data from the previous step (export step)
$data = $this->session->get('export_step', null);
@@ -462,7 +469,7 @@ class ExportController extends AbstractController
*
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
protected function forwardToGenerate(Request $request, $export, $alias)
private function forwardToGenerate(Request $request, $export, $alias)
{
$dataCenters = $this->session->get('centers_step_raw', null);
$dataFormatter = $this->session->get('formatter_step_raw', null);
@@ -494,7 +501,7 @@ class ExportController extends AbstractController
return $this->redirectToRoute('chill_main_export_download', ['key' => $key, 'alias' => $alias]);
}
protected function rebuildData($key)
private function rebuildData($key)
{
$rawData = $this->rebuildRawData($key);
@@ -527,7 +534,7 @@ class ExportController extends AbstractController
*
* @return Response
*/
protected function selectCentersStep(Request $request, $export, $alias)
private function selectCentersStep(Request $request, $export, $alias)
{
/** @var \Chill\MainBundle\Export\ExportManager $exportManager */
$exportManager = $this->exportManager;