Bläddra i källkod

Add Symfony 3 support in datagrid

WouterJ 9 år sedan
förälder
incheckning
7f638a48b2

+ 4 - 4
Datagrid/Datagrid.php

@@ -126,15 +126,15 @@ class Datagrid implements DatagridInterface
             $this->formBuilder->add($filter->getFormName(), $type, $options);
         }
 
-        $this->formBuilder->add('_sort_by', 'hidden');
+        $this->formBuilder->add('_sort_by', 'Symfony\Component\Form\Extension\Core\Type\HiddenType');
         $this->formBuilder->get('_sort_by')->addViewTransformer(new CallbackTransformer(
             function ($value) { return $value; },
             function ($value) { return $value instanceof FieldDescriptionInterface ? $value->getName() : $value; }
         ));
 
-        $this->formBuilder->add('_sort_order', 'hidden');
-        $this->formBuilder->add('_page', 'hidden');
-        $this->formBuilder->add('_per_page', 'hidden');
+        $this->formBuilder->add('_sort_order', 'Symfony\Component\Form\Extension\Core\Type\HiddenType');
+        $this->formBuilder->add('_page', 'Symfony\Component\Form\Extension\Core\Type\HiddenType');
+        $this->formBuilder->add('_per_page', 'Symfony\Component\Form\Extension\Core\Type\HiddenType');
 
         $this->form = $this->formBuilder->getForm();
         $this->form->submit($this->values);

+ 1 - 1
Filter/Filter.php

@@ -95,7 +95,7 @@ abstract class Filter implements FilterInterface
      */
     public function getFieldType()
     {
-        return $this->getOption('field_type', 'text');
+        return $this->getOption('field_type', 'Symfony\Component\Form\Extension\Core\Type\TextType');
     }
 
     /**

+ 1 - 1
Resources/views/CRUD/base_show.html.twig

@@ -61,7 +61,7 @@ file that was distributed with this source code.
                 {% endfor %}
             </div>
         </div>
-    {% else %}
+    {% elseif admin.showtabs is iterable %}
         {{ show_helper.render_groups(admin, object, elements, admin.showtabs.default.groups, has_tab) }}
     {% endif %}
 

+ 1 - 1
Tests/Datagrid/DatagridMapperTest.php

@@ -104,7 +104,7 @@ class DatagridMapperTest extends \PHPUnit_Framework_TestCase
         $this->assertInstanceOf('Sonata\AdminBundle\Filter\FilterInterface', $filter);
         $this->assertSame('foo.name', $filter->getName());
         $this->assertSame('foo__name', $filter->getFormName());
-        $this->assertSame('text', $filter->getFieldType());
+        $this->assertSame('Symfony\Component\Form\Extension\Core\Type\TextType', $filter->getFieldType());
         $this->assertSame('fooLabel', $filter->getLabel());
         $this->assertSame(array('required' => false), $filter->getFieldOptions());
         $this->assertSame(array(

+ 1 - 1
Tests/Filter/FilterTest.php

@@ -19,7 +19,7 @@ class FilterTest extends \PHPUnit_Framework_TestCase
     {
         $filter = new FooFilter();
 
-        $this->assertSame('text', $filter->getFieldType());
+        $this->assertSame('Symfony\Component\Form\Extension\Core\Type\TextType', $filter->getFieldType());
         $this->assertSame(array('required' => false), $filter->getFieldOptions());
         $this->assertNull($filter->getLabel());