Merge branch 'master' into migrate_to_sf72

# Conflicts:
#	src/Bundle/ChillEventBundle/Controller/EventController.php
#	src/Bundle/ChillEventBundle/Controller/ParticipationController.php
#	src/Bundle/ChillEventBundle/DependencyInjection/ChillEventExtension.php
#	src/Bundle/ChillEventBundle/Entity/Event.php
#	src/Bundle/ChillEventBundle/Form/EventType.php
#	src/Bundle/ChillEventBundle/Menu/AdminMenuBuilder.php
#	src/Bundle/ChillEventBundle/config/services.yaml
#	src/Bundle/ChillEventBundle/config/services/controller.yaml
#	src/Bundle/ChillMainBundle/Resources/views/Menu/user.html.twig
#	src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodWorkDuplicateController.php
#	src/Bundle/ChillPersonBundle/Controller/PersonController.php
#	src/Bundle/ChillPersonBundle/Form/PersonType.php
This commit is contained in:
2025-09-09 09:33:27 +02:00
167 changed files with 5474 additions and 1045 deletions

View File

@@ -23,11 +23,11 @@ use Chill\MainBundle\Security\Authorization\AuthorizationHelperInterface;
use Chill\PersonBundle\Entity\Person;
use Chill\PersonBundle\Form\Type\PickPersonDynamicType;
use Chill\PersonBundle\Privacy\PrivacyEvent;
use Doctrine\Persistence\ManagerRegistry;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Csv;
use PhpOffice\PhpSpreadsheet\Writer\Ods;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
@@ -40,6 +40,8 @@ use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\StreamedResponse;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
use Symfony\Component\Serializer\Exception\ExceptionInterface;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
use Symfony\Bundle\SecurityBundle\Security;
use Symfony\Contracts\Translation\TranslatorInterface;
@@ -58,7 +60,8 @@ final class EventController extends AbstractController
private readonly TranslatorInterface $translator,
private readonly PaginatorFactory $paginator,
private readonly Security $security,
private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry,
private readonly ManagerRegistry $managerRegistry,
private readonly NormalizerInterface $normalizer,
) {}
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/event/event/{event_id}/delete', name: 'chill_event__event_delete', requirements: ['event_id' => '\d+'], methods: ['GET', 'POST', 'DELETE'])]
@@ -75,6 +78,7 @@ final class EventController extends AbstractController
/** @var array $participations */
$participations = $event->getParticipations();
$budgetElements = $event->getBudgetElements();
$form = $this->createDeleteForm($event_id);
@@ -86,6 +90,10 @@ final class EventController extends AbstractController
$em->remove($participation);
}
foreach ($budgetElements as $e) {
$em->remove($e);
}
$em->remove($event);
$em->flush();
@@ -103,8 +111,8 @@ final class EventController extends AbstractController
}
return $this->render('@ChillEvent/Event/confirm_delete.html.twig', [
'event_id' => $event->getId(),
'delete_form' => $form,
'id' => $event->getId(),
'delete_form' => $form->createView(),
]);
}
@@ -169,6 +177,8 @@ final class EventController extends AbstractController
/**
* Displays a form to create a new Event entity.
*
* @throws ExceptionInterface
*/
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/event/event/new', name: 'chill_event__event_new', methods: ['GET', 'POST'])]
public function newAction(?Center $center, Request $request): Response
@@ -199,12 +209,15 @@ final class EventController extends AbstractController
$this->addFlash('success', $this->translator
->trans('The event was created'));
return $this->redirectToRoute('chill_event__event_show', ['event_id' => $entity->getId()]);
return $this->redirectToRoute('chill_event__event_show', ['id' => $entity->getId()]);
}
$entity_array = $this->normalizer->normalize($entity, 'json', ['groups' => 'read']);
return $this->render('@ChillEvent/Event/new.html.twig', [
'entity' => $entity,
'form' => $form,
'form' => $form->createView(),
'entity_json' => $entity_array,
]);
}
@@ -216,9 +229,6 @@ final class EventController extends AbstractController
{
$role = 'CHILL_EVENT_CREATE';
/**
* @var Center $centers
*/
$centers = $this->authorizationHelper->getReachableCenters($this->getUser(), $role);
if (1 === \count($centers)) {
@@ -238,7 +248,7 @@ final class EventController extends AbstractController
->add('center_id', EntityType::class, [
'class' => Center::class,
'choices' => $centers,
'placeholder' => '',
'placeholder' => $this->translator->trans('Pick a center'),
'label' => 'To which centre should the event be associated ?',
])
->add('submit', SubmitType::class, [
@@ -317,7 +327,7 @@ final class EventController extends AbstractController
$this->addFlash('success', $this->translator->trans('The event was updated'));
return $this->redirectToRoute('chill_event__event_show', ['event_id' => $event_id]);
return $this->redirectToRoute('chill_event__event_show', ['id' => $event_id]);
}
return $this->render('@ChillEvent/Event/edit.html.twig', [