Spaces:
No application file
No application file
| namespace Mautic\CoreBundle\Event; | |
| use Doctrine\ORM\EntityManagerInterface; | |
| use Mautic\LeadBundle\Entity\Lead; | |
| use Symfony\Contracts\EventDispatcher\Event; | |
| class CommonEvent extends Event | |
| { | |
| /** | |
| * @var EntityManagerInterface | |
| */ | |
| protected $em; | |
| /** | |
| * @var object | |
| */ | |
| protected $entity; | |
| /** | |
| * @var bool | |
| */ | |
| protected $isNew = true; | |
| /** | |
| * @var bool|array | |
| */ | |
| protected $changes; | |
| /** | |
| * @var string | |
| */ | |
| protected $failed; | |
| /** | |
| * Sets the entity manager for the event to use. | |
| * | |
| * @param EntityManagerInterface $em | |
| */ | |
| public function setEntityManager($em): void | |
| { | |
| $this->em = $em; | |
| } | |
| /** | |
| * Returns if a saved lead is new or not. | |
| * | |
| * @return bool | |
| */ | |
| public function isNew() | |
| { | |
| return $this->isNew; | |
| } | |
| public function setFailed(string $reason): void | |
| { | |
| $this->failed = $reason; | |
| } | |
| /** | |
| * Gets changes to original entity. | |
| * | |
| * @return mixed | |
| */ | |
| public function getChanges() | |
| { | |
| if (null === $this->changes) { | |
| $this->changes = false; | |
| if ($this->entity && method_exists($this->entity, 'getChanges')) { | |
| $this->changes = $this->entity->getChanges(); | |
| // Reset changes | |
| if (method_exists($this->entity, 'resetChanges')) { | |
| $this->entity->resetChanges(); | |
| } | |
| } | |
| } | |
| return $this->changes; | |
| } | |
| /** | |
| * @return Lead|null | |
| */ | |
| public function getLead() | |
| { | |
| if (method_exists($this->entity, 'getLead')) { | |
| return $this->entity->getLead(); | |
| } | |
| return null; | |
| } | |
| } | |