/**
  * Process event
  *
  * @param PrepareResultItemEvent $event
  */
 public function process(PrepareResultItemEvent $event)
 {
     $entity = $event->getEntity();
     $item = $event->getResultItem();
     if (!$item->getRecordUrl()) {
         $item->setRecordUrl($this->getEntityUrl($entity, $item));
     }
     if (!$item->getRecordTitle()) {
         $item->setRecordTitle($this->getEntityTitle($entity, $item));
     }
 }
 public function process(PrepareResultItemEvent $event)
 {
     $entity = $event->getEntity();
     if (!$entity instanceof Ticket) {
         return;
     }
     $item = $event->getResultItem();
     $name = $item->getEntityName();
     $routeParameters = $this->mapper->getEntityMapParameter($name, 'route');
     $routeData = array();
     foreach ($routeParameters['parameters'] as $parameter => $field) {
         $routeData[$parameter] = $entity->getKey();
         break;
     }
     $router = $this->container->get('router');
     $url = $router->generate($routeParameters['name'], $routeData, true);
     $item->setRecordUrl($url);
     $title = $entity->getKey() . static::TITLE_PART_SEPARATOR . $entity->getSubject();
     $item->setRecordTitle($title);
 }
 /**
  * Change search results view for Email entity
  *
  * @param PrepareResultItemEvent $event
  */
 public function prepareEmailItemDataEvent(PrepareResultItemEvent $event)
 {
     if ($event->getResultItem()->getEntityName() === EmailUser::ENTITY_CLASS) {
         $id = $event->getResultItem()->getEntity()->getEmail()->getId();
         $event->getResultItem()->setRecordId($id);
         $event->getResultItem()->setEntityName(Email::ENTITY_CLASS);
         $route = $this->router->generate('oro_email_thread_view', ['id' => $id], true);
         $event->getResultItem()->setRecordUrl($route);
     }
 }
 public function testGetEntityObject()
 {
     $testObject = new \stdClass();
     $this->event = new PrepareResultItemEvent($this->resultItem, $testObject);
     $this->assertEquals($testObject, $this->event->getEntity());
 }