diff --git a/src/Controller/ActorsController.php b/src/Controller/ActorsController.php index ee92c00..6f2b861 100644 --- a/src/Controller/ActorsController.php +++ b/src/Controller/ActorsController.php @@ -7,6 +7,7 @@ use App\Repository\ActorRepository; use App\Entity\ActorEntity; use App\Form\Actors\ActorDeleteForm; +use Symfony\Component\Routing\Generator\UrlGenerator; class ActorsController extends AbstractExtendedController { @@ -52,7 +53,7 @@ $actorDeleteForm = $this->createNamedCustomForm('actorDelete', ActorDeleteForm::class); $actorDeleteForm->handleRequest($request); if ($actorDeleteForm->isSubmitted() && $actorDeleteForm->isValid()) { - $errors = $actorAddFom->validate(); + $errors = $actorDeleteForm->validate(); if (empty($errors)) { $actor = $actorDeleteForm->getActor($actorRepository); if (!is_null($actor)) { @@ -102,8 +103,37 @@ // Get actor $actor = $actorRepository->find($id); + // Actor delete form + /** @var ActorDeleteForm $actorDeleteForm */ + $actorDeleteForm = $this->createNamedCustomForm('actorDelete', ActorDeleteForm::class); + $actorDeleteForm->handleRequest($request); + if ($actorDeleteForm->isSubmitted() && $actorDeleteForm->isValid()) { + $errors = $actorDeleteForm->validate(); + if (empty($errors)) { + $actor = $actorDeleteForm->getActor($actorRepository); + if (!is_null($actor)) { + $entityManager->remove($actor); + $entityManager->flush(); + return $this->ajaxFormAnswer([ + 'redirect' => $this->generateUrl('actors_actors', [], UrlGenerator::ABSOLUTE_PATH), + ]); + } else { + return $this->ajaxFormAnswer([ + 'error' => 'Utilisateur non trouvé', + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } else { + return $this->ajaxFormAnswer([ + 'error' => join('
', $errors), + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } + return $this->render('actors/actor.html.twig', [ 'actor' => $actor, + 'deleteForm' => $actorDeleteForm, ]); } } diff --git a/src/Form/Actors/ActorAddForm.php b/src/Form/Actors/ActorAddForm.php index f4989a6..4998595 100644 --- a/src/Form/Actors/ActorAddForm.php +++ b/src/Form/Actors/ActorAddForm.php @@ -21,8 +21,8 @@ $actor->generateId(); $actor->setFirstName($data['firstName']); $actor->setLastName($data['lastName']); - $actor->setNickname($data['nickname']); - + $actor->setNickname($data['nickname'] ?? ""); + return $actor; } diff --git a/templates/_includes/html/form/actors/delete.html.twig b/templates/_includes/html/form/actors/delete.html.twig index 015466b..ba8d711 100644 --- a/templates/_includes/html/form/actors/delete.html.twig +++ b/templates/_includes/html/form/actors/delete.html.twig @@ -10,7 +10,7 @@ } })}} {% elseif data.variant == 'full' %} -{{ form_widget(form.submit, {label: 'Supprimer l\'acteur'})}} +{{ form_widget(form.submit, {label: 'Supprimer l\'acteur', attr: {class: "w-100"}})}} {% endif %}

diff --git a/templates/actors/actor.html.twig b/templates/actors/actor.html.twig index 300dd40..99fd3c3 100644 --- a/templates/actors/actor.html.twig +++ b/templates/actors/actor.html.twig @@ -14,6 +14,8 @@

Supprimer l'acteur

-
+
+ {% include '_includes/html/genericForm.html.twig' with {'form': deleteForm, 'data': {actor: actor, variant: 'full'}} only %} +
{% endblock %} \ No newline at end of file