From 18025012a8523fd09d1a71807124c87feefa9abe Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Mon, 28 Mar 2022 16:46:39 +0200 Subject: [PATCH] selected periods are not coming through in POST. Value not valid --- .../ReassignAccompanyingPeriodController.php | 48 ++++++------------- .../reassign_list.html.twig | 23 ++++----- 2 files changed, 26 insertions(+), 45 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Controller/ReassignAccompanyingPeriodController.php b/src/Bundle/ChillPersonBundle/Controller/ReassignAccompanyingPeriodController.php index 05dd70cb4..92097d807 100644 --- a/src/Bundle/ChillPersonBundle/Controller/ReassignAccompanyingPeriodController.php +++ b/src/Bundle/ChillPersonBundle/Controller/ReassignAccompanyingPeriodController.php @@ -99,38 +99,23 @@ class ReassignAccompanyingPeriodController extends AbstractController $paginator->getCurrentPageFirstItemNumber() ); - // foreach ($periods as $period) { - // $periodIds[] = $period->getId(); - // } + $assignPeriods = []; - // $assignForm= $this->buildReassignForm($periods); - $assignData = []; - $assignForm = $this->createFormBuilder($assignData) - ->add('periods', ChoiceType::class, [ - // 'data' => serialize($periods), - 'choices' => $periods, - 'multiple' => true, - 'expanded' => true - ]) - ->add('user', EntityType::class, [ - 'class' => User::class, - 'choices' => $this->userRepository->findByActive(['username' => 'ASC']), - 'choice_label' => function (User $u) { - return $this->userRender->renderString($u, []); - }, - 'placeholder' => 'Choose a user to reassign to', - 'multiple' => false, - 'label' => 'User', - 'required' => true, - ]) - ->getForm(); + foreach($periods as $period) { + $assignPeriods[$period->getId()] = $period; + } + + $assignForm = $this->buildReassignForm($assignPeriods); $assignForm->handleRequest($request); if ($assignForm->isSubmitted()) { $periods = $assignForm->get('periods')->getData(); - $userAssign = $assignForm->get('user')->getData(); + $userAssign = $assignForm->get('assignUser')->getData(); + + dump($periods); + dump($userAssign); foreach($periods as $periodId) { $reassignPeriod = $this->courseRepository->find($periodId); @@ -188,30 +173,23 @@ class ReassignAccompanyingPeriodController extends AbstractController 'label' => 'User', 'required' => false, ]); - // ->add('periods', HiddenType::class, [ - // 'data' => serialize($periodIds), - // ]); return $builder->getForm(); } private function buildReassignForm(array $periods): FormInterface { - $defaultData = [ - 'user' => [], - 'periods' => $periods - ]; + $defaultData = []; $builder = $this->formFactory->createBuilder(FormType::class, $defaultData, ['csrf_protection' => false, ]); $builder ->add('periods', ChoiceType::class, [ - // 'data' => serialize($periods), 'choices' => $periods, 'multiple' => true, 'expanded' => true ]) - ->add('user', EntityType::class, [ + ->add('assignUser', EntityType::class, [ 'class' => User::class, 'choices' => $this->userRepository->findByActive(['username' => 'ASC']), 'choice_label' => function (User $u) { @@ -223,6 +201,8 @@ class ReassignAccompanyingPeriodController extends AbstractController 'required' => true, ]); + $builder->get('periods')->resetViewTransformers(); + return $builder->getForm(); } } diff --git a/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingPeriod/reassign_list.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingPeriod/reassign_list.html.twig index 201925188..ac03cafee 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingPeriod/reassign_list.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingPeriod/reassign_list.html.twig @@ -67,21 +67,22 @@

{{ 'Attribute parcours in this list to the following user,'|trans }}

{{ paginator.totalItems }} parcours à réassigner (calculé ce jour à {{ null|format_time('medium') }})

-
-
- {{ form_label(assignForm.user ) }} - {{ form_widget(assignForm.user, {'attr': {'class': 'select2'}}) }} -
-
- {{ form_start(assignForm) }} +
+
+ {{ form_label(assignForm.assignUser ) }} + {{ form_widget(assignForm.assignUser, {'attr': {'class': 'select2'}}) }} +
+
+
+ {# {{ dump(assignForm.periods.vars.choices) }} #} {% for choice in assignForm.periods.vars.choices %} -
- -