From af4cf550467e4496af8945ab23b0c4c1b36968d6 Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Mon, 4 Oct 2021 19:33:12 +0200 Subject: [PATCH] start of entity listener for person name capitalization --- .../Config/services/eventlisteners.yaml | 8 +++++ .../Controller/PersonController.php | 2 +- .../EventListener/PersonCreateEvent.php | 36 +++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 src/Bundle/ChillPersonBundle/Config/services/eventlisteners.yaml create mode 100644 src/Bundle/ChillPersonBundle/EventListener/PersonCreateEvent.php diff --git a/src/Bundle/ChillPersonBundle/Config/services/eventlisteners.yaml b/src/Bundle/ChillPersonBundle/Config/services/eventlisteners.yaml new file mode 100644 index 000000000..7a555afd8 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Config/services/eventlisteners.yaml @@ -0,0 +1,8 @@ +services: + Chill\PersonBundle\EventListener\: + autowire: true + autoconfigure: true + tags: + - name: "doctrine.orm.entity_listener" + event: "prePersist" + entity: 'Chill\PersonBundle\Entity\Person' diff --git a/src/Bundle/ChillPersonBundle/Controller/PersonController.php b/src/Bundle/ChillPersonBundle/Controller/PersonController.php index 03da97d5f..570b51f8d 100644 --- a/src/Bundle/ChillPersonBundle/Controller/PersonController.php +++ b/src/Bundle/ChillPersonBundle/Controller/PersonController.php @@ -268,7 +268,7 @@ final class PersonController extends AbstractController ) { $this->em->persist($person); - $this->em->flush(); + // $this->em->flush(); $this->lastPostDataReset(); if ($form->get('createPeriod')->isClicked()) { diff --git a/src/Bundle/ChillPersonBundle/EventListener/PersonCreateEvent.php b/src/Bundle/ChillPersonBundle/EventListener/PersonCreateEvent.php new file mode 100644 index 000000000..26413f332 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/EventListener/PersonCreateEvent.php @@ -0,0 +1,36 @@ +em = $em; + } + + public function onPrePersist(LifecycleEventArgs $event): void + { + $person = $event->getObject(); + + if ($person instanceof Person){ + $firstnameCaps = ucfirst(strtolower($person->getFirstName())); + $person->setFirstName($firstnameCaps); + + $lastnameCaps = strtoupper($person->getLastName()); + $person->setLastName($lastnameCaps); + + dump($person); + // $this->em->persist($person); + // $this->em->flush(); + } + } +} \ No newline at end of file