start of entity listener for person name capitalization

This commit is contained in:
Julie Lenaerts 2021-10-04 19:33:12 +02:00
parent ddbd6a9f23
commit af4cf55046
3 changed files with 45 additions and 1 deletions

View File

@ -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'

View File

@ -268,7 +268,7 @@ final class PersonController extends AbstractController
) { ) {
$this->em->persist($person); $this->em->persist($person);
$this->em->flush(); // $this->em->flush();
$this->lastPostDataReset(); $this->lastPostDataReset();
if ($form->get('createPeriod')->isClicked()) { if ($form->get('createPeriod')->isClicked()) {

View File

@ -0,0 +1,36 @@
<?php
declare(strict_types=1);
namespace Chill\PersonBundle\EventListener;
use Chill\PersonBundle\Entity\Person;
use Doctrine\ORM\EntityManager;
use Doctrine\Persistence\Event\LifecycleEventArgs;
class PersonCreateEvent
{
public EntityManager $em;
public function __construct(EntityManager $em)
{
$this->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();
}
}
}