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);
     }
 }
Ejemplo n.º 5
0
 /**
  * {@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);
 }