Add entity listener for user. #330
This commit is contained in:
parent
3231aad154
commit
a629d9b024
5 changed files with 142 additions and 0 deletions
|
|
@ -238,3 +238,11 @@ services:
|
|||
- name: 'doctrine.orm.entity_listener'
|
||||
event: 'postPersist'
|
||||
entity: 'App\Entity\JobOrder'
|
||||
|
||||
App\EventListener\EntityListener\UserEntityListener:
|
||||
tags:
|
||||
- name: 'doctrine.orm.entity_listener'
|
||||
event: 'postPersist'
|
||||
entity: 'App\Entity\User'
|
||||
- name: 'doctrine.event_listener'
|
||||
event: 'onFlush'
|
||||
|
|
|
|||
|
|
@ -238,3 +238,10 @@ services:
|
|||
event: 'postPersist'
|
||||
entity: 'App\Entity\JobOrder'
|
||||
|
||||
App\EventListener\EntityListener\UserEntityListener:
|
||||
tags:
|
||||
- name: 'doctrine.orm.entity_listener'
|
||||
event: 'postPersist'
|
||||
entity: 'App\Entity\User'
|
||||
- name: 'doctrine.event_listener'
|
||||
event: 'onFlush'
|
||||
|
|
|
|||
|
|
@ -258,3 +258,11 @@ services:
|
|||
- name: 'doctrine.orm.entity_listener'
|
||||
event: 'postPersist'
|
||||
entity: 'App\Entity\JobOrder'
|
||||
|
||||
App\EventListener\EntityListener\UserEntityListener:
|
||||
tags:
|
||||
- name: 'doctrine.orm.entity_listener'
|
||||
event: 'postPersist'
|
||||
entity: 'App\Entity\User'
|
||||
- name: 'doctrine.event_listener'
|
||||
event: 'onFlush'
|
||||
|
|
|
|||
32
src/EventListener/EntityListener.php
Normal file
32
src/EventListener/EntityListener.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
namespace App\EventListener;
|
||||
|
||||
use Doctrine\Common\Persistence\Event\LifecycleEventArgs;
|
||||
use Doctrine\ORM\Event\OnFlushEventArgs;
|
||||
|
||||
abstract class EntityListener
|
||||
{
|
||||
|
||||
public function postPersist($object, LifecycleEventArgs $args)
|
||||
{
|
||||
error_log('Entity created');
|
||||
}
|
||||
|
||||
public function onFlush(OnFlushEventArgs $args)
|
||||
{
|
||||
error_log('on flush');
|
||||
}
|
||||
|
||||
/*
|
||||
public function postUpdate($object, LifecycleEventArgs $args)
|
||||
{
|
||||
error_log('Entity updated');
|
||||
}
|
||||
|
||||
public function postRemove($object, LifecycleEventArgs $args)
|
||||
{
|
||||
error_log('Entity deleted');
|
||||
} */
|
||||
|
||||
}
|
||||
87
src/EventListener/EntityListener/UserEntityListener.php
Normal file
87
src/EventListener/EntityListener/UserEntityListener.php
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
<?php
|
||||
|
||||
namespace App\EventListener\EntityListener;
|
||||
|
||||
use Doctrine\Common\Persistence\Event\LifecycleEventArgs;
|
||||
use Doctrine\ORM\Event\OnFlushEventArgs;
|
||||
|
||||
use App\EventListener\EntityListener;
|
||||
|
||||
use App\Entity\User;
|
||||
|
||||
class UserEntityListener extends EntityListener
|
||||
{
|
||||
public function postPersist($user, LifecycleEventArgs $args)
|
||||
{
|
||||
error_log('Created user with id ' . $user->getID() . ' and username ' . $user->getUsername());
|
||||
}
|
||||
|
||||
public function onFlush(OnFlushEventArgs $args)
|
||||
{
|
||||
$em = $args->getEntityManager();
|
||||
$unit_of_work = $em->getUnitOfWork();
|
||||
$deleted_entities = $unit_of_work->getScheduledEntityDeletions();
|
||||
$updated_entities = $unit_of_work->getScheduledEntityUpdates();
|
||||
|
||||
foreach ($updated_entities as $updated_entity)
|
||||
{
|
||||
if ($updated_entity instanceof User)
|
||||
{
|
||||
$changeset = $unit_of_work->getEntityChangeSet($updated_entity);
|
||||
|
||||
$entity_fields = array_keys($changeset);
|
||||
foreach ($entity_fields as $field)
|
||||
{
|
||||
error_log('field ' . $field);
|
||||
|
||||
$values = $changeset[$field];
|
||||
|
||||
$old_value = $values[0];
|
||||
$new_value = $values[1];
|
||||
|
||||
error_log('Changed ' . $field . ' from ' . $old_value . ' to ' . $new_value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($deleted_entities as $deleted_entity)
|
||||
{
|
||||
if ($deleted_entity instanceof User)
|
||||
{
|
||||
$deleted_id = $deleted_entity->getID();
|
||||
$deleted_username = $deleted_entity->getUsername();
|
||||
|
||||
error_log('Deleted user with id ' . $deleted_id . ' and username ' . $deleted_username);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
public function postUpdate($user, LifecycleEventArgs $args)
|
||||
{
|
||||
error_log ('POST UPDATE');
|
||||
|
||||
error_log('User with id ' . $user->getID() . ' updated.');
|
||||
error_log('username ' . $user->getUsername());
|
||||
error_log('password ' . $user->getPassword());
|
||||
error_log('first name ' . $user->getFirstName());
|
||||
error_log('last name ' . $user->getLastName());
|
||||
error_log('contact number '. $user->getContactNumber());
|
||||
error_log('email ' . $user->getEmail());
|
||||
|
||||
$roles = $user->getRoles();
|
||||
$hubs = $user->getHubs();
|
||||
|
||||
foreach ($roles as $role)
|
||||
error_log('user role ' . $role);
|
||||
|
||||
foreach ($hubs as $hub)
|
||||
error_log('user hub ' . $hub);
|
||||
} */
|
||||
|
||||
/*
|
||||
public function postRemove($user, LifecycleEventArgs $args)
|
||||
{
|
||||
error_log('User deleted.');
|
||||
} */
|
||||
}
|
||||
Loading…
Reference in a new issue