public function testReorderListWithBatchField() { $collection = new FieldDescriptionCollection(); $fieldDescription = $this->getMock('Sonata\\AdminBundle\\Admin\\FieldDescriptionInterface'); $fieldDescription->expects($this->once())->method('getName')->will($this->returnValue('title')); $collection->add($fieldDescription); $fieldDescription = $this->getMock('Sonata\\AdminBundle\\Admin\\FieldDescriptionInterface'); $fieldDescription->expects($this->once())->method('getName')->will($this->returnValue('position')); $collection->add($fieldDescription); $fieldDescription = $this->getMock('Sonata\\AdminBundle\\Admin\\FieldDescriptionInterface'); $fieldDescription->expects($this->once())->method('getName')->will($this->returnValue('batch')); $collection->add($fieldDescription); $newOrder = array('position', 'title'); $collection->reorder($newOrder); array_unshift($newOrder, 'batch'); $actualElements = array_keys($collection->getElements()); $this->assertSame($newOrder, $actualElements, 'the order is wrong'); }
/** * @param \Sonata\AdminBundle\Admin\FieldDescriptionCollection $list * @param null $type * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription * @param \Sonata\AdminBundle\Admin\AdminInterface $admin */ public function addField(FieldDescriptionCollection $list, $type = null, FieldDescriptionInterface $fieldDescription, AdminInterface $admin) { if ($type == null) { $guessType = $this->guesser->guessType($admin->getClass(), $fieldDescription->getName(), $admin->getModelManager()); $fieldDescription->setType($guessType->getType()); } else { $fieldDescription->setType($type); } $this->fixFieldDescription($admin, $fieldDescription); $admin->addShowFieldDescription($fieldDescription->getName(), $fieldDescription); $list->add($fieldDescription); }
public function testMethods() { $collection = new FieldDescriptionCollection(); $fieldDescription = $this->getMock('Sonata\\AdminBundle\\Admin\\FieldDescriptionInterface'); $fieldDescription->expects($this->once())->method('getName')->will($this->returnValue('title')); $collection->add($fieldDescription); $fieldDescription = $this->getMock('Sonata\\AdminBundle\\Admin\\FieldDescriptionInterface'); $fieldDescription->expects($this->once())->method('getName')->will($this->returnValue('position')); $collection->add($fieldDescription); $this->assertFalse($collection->has('foo')); $this->assertFalse(isset($collection['foo'])); $this->assertTrue($collection->has('title')); $this->assertTrue(isset($collection['title'])); $this->assertCount(2, $collection->getElements()); $this->assertCount(2, $collection); $this->isInstanceOf('Sonata\\AdminBundle\\Admin\\FieldDescriptionInterface', $collection['title']); $this->isInstanceOf('Sonata\\AdminBundle\\Admin\\FieldDescriptionInterface', $collection->get('title')); $collection->remove('title'); $this->assertFalse($collection->has('title')); unset($collection['position']); $this->assertCount(0, $collection->getElements()); $this->assertCount(0, $collection); }
/** * {@inheritDoc} */ public function addField(FieldDescriptionCollection $list, $type = null, FieldDescriptionInterface $fieldDescription, AdminInterface $admin) { if ($type == null) { $guessType = $this->guesser->guessType($admin->getClass(), $fieldDescription->getName(), $admin->getModelManager()); $fieldDescription->setType($guessType->getType()); } else { $fieldDescription->setType($type); } $this->fixFieldDescription($admin, $fieldDescription); $admin->addShowFieldDescription($fieldDescription->getName(), $fieldDescription); switch ($fieldDescription->getMappingType()) { case ClassMetadata::MANY_TO_ONE: case ClassMetadata::MANY_TO_MANY: return; default: $list->add($fieldDescription); } }
/** * {@inheritdoc} */ public function addField(FieldDescriptionCollection $list, $type = null, FieldDescriptionInterface $fieldDescription, AdminInterface $admin) { $this->buildField($type, $fieldDescription, $admin); $admin->addListFieldDescription($fieldDescription->getName(), $fieldDescription); $list->add($fieldDescription); }