Example #1
0
 /**
  * {@inheritdoc}
  */
 public function getValue($entity, FieldMetadata $metadata)
 {
     if ($metadata->has('activity') && $metadata->has('type') && $metadata->get('activity') === true) {
         return $this->getActivity($entity, $metadata->get('type'));
     }
     return parent::getValue($entity, $metadata);
 }
 /**
  * @param $entity
  * @param FieldMetadata $metadata
  * @param int $count
  * @param $expectedValue
  *
  * @dataProvider getValueDataProvider
  */
 public function testGetValue($entity, FieldMetadata $metadata, $count, $expectedValue)
 {
     $em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock();
     $repository = $this->getMockBuilder('Oro\\Bundle\\ActivityListBundle\\Entity\\Repository\\ActivityListRepository')->disableOriginalConstructor()->getMock();
     $repository->expects($this->once())->method('getRecordsCountForTargetClassAndId')->with(ClassUtils::getClass($entity), $entity->getId(), [$metadata->get('type')])->willReturn($count);
     $em->expects($this->once())->method('getRepository')->willReturn($repository);
     $this->registry->expects($this->once())->method('getManagerForClass')->willReturn($em);
     $this->assertEquals($expectedValue, $this->accessor->getValue($entity, $metadata));
 }
Example #3
0
 /**
  * Render field value to string
  *
  * @param mixed $value
  * @param FieldMetadata $metadata
  * @param object $entity
  * @return string
  */
 public function renderFieldValue($value, FieldMetadata $metadata, $entity)
 {
     $template = $metadata->get('template') ?: $this->defaultTemplate;
     if (is_array($value) || $value instanceof \Traversable) {
         $isListValue = true;
         $stringValue = $this->convertListToStringArray($value, $metadata);
     } else {
         $isListValue = false;
         $stringValue = $this->convertToString($value, $metadata);
     }
     return $this->environment->render($template, array('convertedValue' => $stringValue, 'isListValue' => $isListValue, 'metadata' => $metadata, 'value' => $value));
 }
 /**
  * @param object $relatedEntity
  * @param FieldMetadata $metadata
  * @param object $value
  */
 protected function setRelatedEntityValue($relatedEntity, FieldMetadata $metadata, $value)
 {
     if ($metadata->has('setter')) {
         $setter = $metadata->get('setter');
         $relatedEntity->{$setter}($value);
     } else {
         try {
             $this->getPropertyAccessor()->setValue($relatedEntity, $metadata->getDoctrineMetadata()->getFieldName(), $value);
         } catch (NoSuchPropertyException $e) {
             // If setter is not exist
             $reflection = new \ReflectionProperty(ClassUtils::getClass($relatedEntity), $metadata->getDoctrineMetadata()->getFieldName());
             $reflection->setAccessible(true);
             $reflection->setValue($relatedEntity, $value);
         }
     }
 }
Example #5
0
 /**
  * @param FieldMetadata $metadata
  * @return string
  */
 protected function getPropertyPath(FieldMetadata $metadata)
 {
     return $metadata->has('property_path') ? $metadata->get('property_path') : $metadata->getFieldName();
 }