/** * @param \Doctrine\Common\Persistence\Event\LifecycleEventArgs $event */ public function preUpdate(LifecycleEventArgs $event) { if (!$this->supports($event->getObject())) { return; } $object = $event->getObject(); $object->setUpdatedAt($this->now()); $dm = $event->getDocumentManager(); $class = $dm->getClassMetadata(get_class($object)); $dm->getUnitOfWork()->recomputeSingleDocumentChangeSet($class, $object); }
public function preRemove(LifecycleEventArgs $args) { if (!$args->getObject() instanceof Payment) { return; } $entity = $args->getObject(); $entityManager = $args->getObjectManager(); $products = $entityManager->getRepository("CvaGestionMembreBundle:Produit")->findBy(['hasWaitingList' => true]); if ($entity instanceof Payment) { if (in_array($entity->getProduct(), $products)) { $this->containerInterface->get("bde.wei.registration_management")->removeFromWaitingList($entity->getStudent(), $entity->getProduct()); } } }
public function PostUpdate(LifecycleEventArgs $args) { $entity = $args->getObject(); $em = $args->getObjectManager(); $classMetaData = $em->getClassMetadata(get_class($entity)); foreach ($classMetaData->associationMappings as $associationMappingKey => $associationMappingDatas) { if ($associationMappingDatas['type'] == \Doctrine\ORM\Mapping\ClassMetadataInfo::ONE_TO_MANY) { $repo = $em->getRepository($associationMappingDatas['targetEntity']); $associated = $repo->findBy([$associationMappingDatas['mappedBy'] => $entity]); $newAssociated = call_user_func([$entity, 'get' . ucfirst($associationMappingKey)]); $changed = false; foreach ($associated as $associatedEntity) { if (!$newAssociated->contains($associatedEntity)) { $changed = true; $em->remove($associatedEntity); } } if ($changed) { $em->flush(); } // } } // dump($classMetaData); // die(); }
public function onPaymentBeforeSave(LifecycleEventArgs $args) { $entity = $args->getObject(); if ($entity instanceof PaymentInterface) { $this->getPaymentStateHistoryManager()->createPaymentStateHistory($entity); } }
/** * Pre update * PreUpdate event needs to recompute change set * * @param LifecycleEventArgs $args */ public function preUpdate(LifecycleEventArgs $args) { $object = $args->getObject(); if ($object instanceof AbstractMetric && $object->getUnit()) { $this->createMetricBaseValues($object); } }
protected function updateRoute(LifecycleEventArgs $args) { $object = $args->getObject(); if ($object instanceof MenuInterface) { $object->setRouter($this->router); } }
public function postRemove(LifecycleEventArgs $event) { $object = $event->getObject(); $reflection = new \ReflectionClass($object); $message = sprintf('%s deleted', $reflection->getShortName()); $this->logger->notice($message, $this->getContext($object)); }
/** * @param EventArgs|LifecycleEventArgs $args */ public function postPersist(LifecycleEventArgs $args) { $entity = $args->getObject(); $em = $args->getObjectManager(); if ($entity instanceof Comment) { if ($entity->getArticleId() != null) { if ($entity->getUserId()->getId() != $entity->getArticleId()->getUserId()->getId()) { $n = new Notification(); $n->setUser($entity->getUserId())->setArticle($entity->getArticleId()); $em->persist($n); $em->flush(); } } else { if ($entity->getVideoId() != null) { if ($entity->getUserId()->getId() != $entity->getVideoId()->getUserId()->getId()) { $n = new Notification(); $n->setUser($entity->getUserId())->setVideo($entity->getVideoId()); $em->persist($n); $em->flush(); } } else { if ($entity->getLinkId() != null) { if ($entity->getUserId()->getId() != $entity->getLinkId()->getUserId()->getId()) { $n = new Notification(); $n->setUser($entity->getUserId())->setLink($entity->getLinkId()); $em->persist($n); $em->flush(); } } } } } }
function let(Generator $generator, HasSalt $user, LifecycleEventArgs $event) { $generator->generate()->willReturn('salt'); $event->getObject()->willReturn($user); $user->getSalt()->willReturn(null); $this->beConstructedWith($generator); }
function it_marks_indexed_product_values_outdated_after_loading_a_value(LifecycleEventArgs $args, ProductValueInterface $value, ProductInterface $entity) { $args->getObject()->willReturn($value); $value->getEntity()->willReturn($entity); $entity->markIndexedValuesOutdated()->shouldBeCalled(); $this->postLoad($args); }
/** * Control object dms * * @param LifecycleEventArgs $args */ public function postUpdate(LifecycleEventArgs $args) { $entity = $args->getObject(); if ($entity instanceof GedableInterface) { $this->manageNodeTree($entity->getGedTree()); } }
/** * Pre update listener based on doctrine commons, overwrite to update * the changeset in the UoW and to handle non-common event argument * class. * * @param LifecycleEventArgs $args weak typed to allow overwriting */ public function preUpdate($args) { $object = $args->getObject(); if ($object instanceof UserInterface) { $this->updateUserFields($object); } }
public function preRemove(LifecycleEventArgs $event) { $object = $event->getObject(); if ($this->isReferenceable($object)) { $this->objectAdapterManager->removeReference($object); } }
function it_applies_during_pre_update_on_timestampable_object(LifecycleEventArgs $args, TimestampableInterface $object) { $args->getObject()->willReturn($object); $object->setCreated()->shouldNotBeCalled(); $object->setUpdated(Argument::type('\\DateTime'))->shouldBeCalled(); $this->preUpdate($args); }
public function prePersist(LifecycleEventArgs $args) { $object = $args->getObject(); if ($object instanceof FileInterface) { $object->upload(); } }
function let(Generator $generator, HasInitialPassword $user, LifecycleEventArgs $event) { $generator->generate()->willReturn('password'); $event->getObject()->willReturn($user); $user->getPlainPassword()->willReturn(null); $this->beConstructedWith($generator); }
/** * @param LifecycleEventArgs $eventArgs */ public function preUpdate(LifecycleEventArgs $eventArgs) { $object = $eventArgs->getObject(); if ($this->isSluggable($object)) { $this->updateSlug($object); } }
public function preUpdate(LifecycleEventArgs $args) { $entity = $args->getObject(); if (method_exists($entity, 'setUpdateDate')) { $entity->setUpdateDate(new \DateTime()); } }
/** * @param LifecycleEventArgs $lifecycleEventArgs */ private function updateSlug(LifecycleEventArgs $lifecycleEventArgs) { $object = $lifecycleEventArgs->getObject(); $productTranslationRepository = $lifecycleEventArgs->getObjectManager()->getRepository(get_class($object)); $slug = $this->slugify($object->getName(), $productTranslationRepository); $object->setSlug($slug); $this->generatedSlugs[] = $slug; }
/** * Pre update * PreUpdate event needs to recompute change set * * @param LifecycleEventArgs $args */ public function preUpdate(LifecycleEventArgs $args) { $product = $args->getObject(); if ($product instanceof ProductInterface) { $dm = $args->getObjectManager(); $this->convertMetricValues($dm, $product); } }
/** * @param LifecycleEventArgs $event * @return void */ private function keepDomainEvents(LifecycleEventArgs $event) { $entity = $event->getObject(); if (!$entity instanceof DomainEventing) { return; } $this->entities[] = $entity; }
public function preRemove(LifecycleEventArgs $event) { $objectAdapterManager = $this->container->get('doctrine_orm_phpcr_adapter.adapter.default_adapter_manager'); $object = $event->getObject(); if ($this->isReferenceable($object, $objectAdapterManager)) { $objectAdapterManager->removeReference($object); } }
/** * @param LifecycleEventArgs $args * @throws \UnexpectedValueException */ public function preRemove(LifecycleEventArgs $args) { $entity = $args->getObject(); if ($entity instanceof ResourceInterface) { $this->resourceManager->removeResourceFile($entity); return; } }
public function prePersist(LifecycleEventArgs $args) { $entity = $args->getObject(); if ($entity instanceof ApiCredentials && php_sapi_name() !== 'cli') { $user = $this->tokenManager->getToken()->getUser(); $entity->setCreatedBy($user)->setIsActive(true); } }
/** * Pre update listener based on doctrine common * * @param LifecycleEventArgs $args */ public function preUpdate(LifecycleEventArgs $args) { $object = $args->getObject(); if ($object instanceof UserInterface) { $this->updateUserFields($object); $this->recomputeChangeSet($args->getObjectManager(), $object); } }
/** * Decrypt a Cryptable entity just after it is loaded from the database * * @param LifecycleEventArgs $event */ public function postLoad(LifecycleEventArgs $event) { $entity = $event->getObject(); if (!$entity instanceof CryptableInterface) { return; } $this->decryptEntity($entity); }
public function onPaymentMethodBeforeSave(LifecycleEventArgs $args) { $entity = $args->getObject(); if ($entity instanceof PaymentMethodInterface) { $processor = $this->getPaymentProcessorCollection()->get($entity->getProcessor()); $entity->setConfiguration($this->filterConfiguration($entity->getConfiguration(), $processor)); } }
function it_does_not_configure_scope_for_other_objects(CatalogContext $context, LifecycleEventArgs $args) { $object = new \stdClass(); $args->getObject()->willReturn($object); $context->hasScopeCode()->willReturn(true); $context->getScopeCode()->shouldNotBeCalled(); $this->postLoad($args); }
/** * @param LifecycleEventArgs $args */ public function updateDimensionsFromContent(LifecycleEventArgs $args) { $object = $args->getObject(); if (!$object instanceof Image) { return; } if ($this->imagine) { /** @var $image ImageInterface */ $image = false; // use imagine to determine the dimensions if ($object instanceof BinaryInterface) { $stream = $object->getContentAsStream(); try { $image = $this->imagine->read($stream); } catch (InvalidArgumentException $e) { // ignore this exception, we will set the dimensions to 0 } catch (RuntimeException $e) { // ignore this exception, we will set the dimensions to 0 } } elseif ($object instanceof FileSystemInterface) { if ($object->getFileSystemPath()) { $image = $this->imagine->open($object->getFileSystemPath()); } } else { $content = $object->getContentAsString(); if ($content) { $image = $this->imagine->load($content); } } if ($image) { $size = $image->getSize(); $object->setWidth($size->getWidth()); $object->setHeight($size->getHeight()); } else { $object->setWidth(0); $object->setHeight(0); } return; } if (function_exists('imagecreatefromstring')) { // use gd to determine the dimensions $content = $object->getContentAsString(); if ($content) { $resource = imagecreatefromstring($content); } else { $resource = false; } if ($resource) { $object->setWidth(imagesx($resource)); $object->setHeight(imagesy($resource)); } else { $object->setWidth(0); $object->setHeight(0); } return; } throw new \RuntimeException('Neither have Imagine nor the gd PHP extension'); }
public function postLoad(LifecycleEventArgs $args) { $object = $args->getObject(); if ($object instanceof AvatarInterface) { if (!$object->getAvatar()) { $object->setAvatar($this->gravatarApi->getUrl($object->getEmail())); } } }