コード例 #1
0
 /**
  * @param EmailBodyAdded $event
  */
 public function updateActivityDescription(EmailBodyAdded $event)
 {
     $email = $event->getEmail();
     $activityList = $this->chainProvider->getUpdatedActivityList($email, $this->entityManager);
     if ($activityList) {
         $this->entityManager->persist($activityList);
     }
 }
コード例 #2
0
 /**
  * @param array         $updatedEntities
  * @param EntityManager $entityManager
  * @return bool
  */
 public function processUpdatedEntities($updatedEntities, EntityManager $entityManager)
 {
     if (!empty($updatedEntities)) {
         $metaData = $entityManager->getClassMetadata(ActivityList::ENTITY_CLASS);
         foreach ($updatedEntities as $entity) {
             $activityList = $this->chainProvider->getUpdatedActivityList($entity, $entityManager);
             if ($activityList) {
                 $entityManager->persist($activityList);
                 $entityManager->getUnitOfWork()->computeChangeSet($metaData, $activityList);
             }
         }
         return true;
     }
     return false;
 }
コード例 #3
0
 /**
  * @param EmailBodyAdded $event
  *
  * @throws \Exception
  */
 public function updateActivityDescription(EmailBodyAdded $event)
 {
     $this->entityManager->beginTransaction();
     try {
         $email = $event->getEmail();
         $activityList = $this->chainProvider->getUpdatedActivityList($email, $this->entityManager);
         if ($activityList) {
             $this->entityManager->persist($activityList);
             $this->entityManager->flush();
         }
         $this->entityManager->commit();
     } catch (\Exception $e) {
         $this->entityManager->rollback();
         throw $e;
     }
 }
コード例 #4
0
 public function testGetUpdatedActivityList()
 {
     $em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock();
     $repo = $this->getMockBuilder('Oro\\Bundle\\ActivityListBundle\\Entity\\Repository\\ActivityListRepository')->disableOriginalConstructor()->getMock();
     $activityEntity = new ActivityList();
     $repo->expects($this->once())->method('findOneBy')->willReturn($activityEntity);
     $em->expects($this->once())->method('getRepository')->willReturn($repo);
     $testEntity = new \stdClass();
     $testEntity->subject = 'testSubject';
     $testEntity->description = 'testDescription';
     $this->testActivityProvider->setTargets([new \stdClass()]);
     $this->doctrineHelper->expects($this->any())->method('getEntityClass')->willReturnCallback(function ($entity) use($testEntity) {
         if ($entity === $testEntity) {
             return 'Test\\Entity';
         }
         return get_class($entity);
     });
     $result = $this->provider->getUpdatedActivityList($testEntity, $em);
     $this->assertEquals('update', $result->getVerb());
     $this->assertEquals('testSubject', $result->getSubject());
 }