Yohann76/BileMo_B2B_API

View on GitHub
src/EventSubscriber/PostListener.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace App\EventSubscriber;

use App\Doctrine\searchUserLinkedToCustomer;
use App\Entity\Customer;
use App\Entity\User;
use Doctrine\Common\EventSubscriber;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Events;
use Symfony\Component\Security\Core\Security;
use Doctrine\Common\Persistence\Event\LifecycleEventArgs;


class PostListener implements EventSubscriber
{
    private $security;

    public function __construct(Security $security)
    {
        $this->security = $security;
    }

    public function getSubscribedEvents()
    {
        return [
            Events::prePersist,
        ];
    }

    // return customer connect in persist user
    public function prePersist(User $user)
    {
        if ($user->getCustomer()) {
            return;
        }

        if ($this->security->getUser() ) {
            $user->setCustomer($this->security->getUser());
        }

        // problem with DataFixture
        //$customer = $this->security->getUser();
        //$user->setCustomer($customer);
    }
}