Thomas Rabaix %!s(int64=10) %!d(string=hai) anos
pai
achega
201375d0ab

+ 1 - 1
Form/Extension/Field/Type/FormTypeFieldExtension.php

@@ -113,7 +113,7 @@ class FormTypeFieldExtension extends AbstractTypeExtension
         /**
          * We have a child, so we need to upgrade block prefix
          */
-        if ($view->parent->vars['sonata_admin_enabled'] && !$sonataAdmin['admin']) {
+        if ($view->parent && $view->parent->vars['sonata_admin_enabled'] && !$sonataAdmin['admin']) {
             $blockPrefixes    = $view->vars['block_prefixes'];
 
             $baseName = str_replace('.', '_', $view->parent->vars['sonata_admin_code']);

+ 19 - 0
Tests/Form/Extension/Field/Type/FormTypeFieldExtensionTest.php

@@ -169,4 +169,23 @@ class FormTypeFieldExtensionTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($expected, $formView->vars['block_prefixes']);
         $this->assertTrue($formView->vars['sonata_admin_enabled']);
     }
+
+    public function testbuildViewWithNestedFormWithNoParent()
+    {
+        $eventDispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');
+
+        $formView = new FormView();
+        $options = array();
+        $config = new FormConfigBuilder('test', 'stdClass', $eventDispatcher, $options);
+        $form = new Form($config);
+
+        $extension = new FormTypeFieldExtension();
+        $extension->buildView($formView, $form, array(
+            'sonata_help' => 'help text'
+        ));
+
+        $this->assertArrayNotHasKey('block_prefixes', $formView->vars);
+        $this->assertArrayHasKey('sonata_admin_enabled', $formView->vars);
+        $this->assertArrayHasKey('sonata_admin', $formView->vars);
+    }
 }