/** * 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); } }
/** * 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); }
public function testGetResultItem() { $this->assertEquals($this->resultItem, $this->event->getResultItem()); }