Sfoglia il codice sorgente

Fix group menu sub items translation domain

The menu extras uses label_catalogue not translation_domain
Mário Franco 7 anni fa
parent
commit
c303dbece3

+ 2 - 2
Menu/Provider/GroupMenuProvider.php

@@ -109,7 +109,7 @@ class GroupMenuProvider implements MenuProviderInterface
                     $label = $admin->getLabel();
                     $options = $admin->generateMenuUrl('list', array(), $item['route_absolute']);
                     $options['extras'] = array(
-                        'translation_domain' => $admin->getTranslationDomain(),
+                        'label_catalogue' => $admin->getTranslationDomain(),
                         'admin' => $admin,
                     );
                 } else {
@@ -128,7 +128,7 @@ class GroupMenuProvider implements MenuProviderInterface
                         'routeParameters' => $item['route_params'],
                         'routeAbsolute' => $item['route_absolute'],
                         'extras' => array(
-                            'translation_domain' => $group['label_catalogue'],
+                            'label_catalogue' => $group['label_catalogue'],
                         ),
                     );
                 }

+ 24 - 0
Tests/Menu/Provider/GroupMenuProviderTest.php

@@ -94,6 +94,14 @@ class GroupMenuProviderTest extends PHPUnit_Framework_TestCase
         $this->assertArrayHasKey('route_label', $children);
         $this->assertInstanceOf('Knp\Menu\MenuItem', $menu['foo_admin_label']);
         $this->assertSame('foo_admin_label', $menu['foo_admin_label']->getLabel());
+
+        $extras = $menu['foo_admin_label']->getExtras();
+        $this->assertArrayHasKey('label_catalogue', $extras);
+        $this->assertSame($extras['label_catalogue'], 'SonataAdminBundle');
+
+        $extras = $menu['route_label']->getExtras();
+        $this->assertArrayHasKey('label_catalogue', $extras);
+        $this->assertSame($extras['label_catalogue'], 'SonataAdminBundle');
     }
 
     /**
@@ -141,6 +149,10 @@ class GroupMenuProviderTest extends PHPUnit_Framework_TestCase
         $this->assertArrayNotHasKey('route_label', $children);
         $this->assertInstanceOf('Knp\Menu\MenuItem', $menu['foo_admin_label']);
         $this->assertSame('foo_admin_label', $menu['foo_admin_label']->getLabel());
+
+        $extras = $menu['foo_admin_label']->getExtras();
+        $this->assertArrayHasKey('label_catalogue', $extras);
+        $this->assertSame($extras['label_catalogue'], 'SonataAdminBundle');
     }
 
     /**
@@ -177,6 +189,14 @@ class GroupMenuProviderTest extends PHPUnit_Framework_TestCase
         $this->assertArrayHasKey('route_label', $children);
         $this->assertInstanceOf('Knp\Menu\MenuItem', $menu['foo_admin_label']);
         $this->assertSame('foo_admin_label', $menu['foo_admin_label']->getLabel());
+
+        $extras = $menu['foo_admin_label']->getExtras();
+        $this->assertArrayHasKey('label_catalogue', $extras);
+        $this->assertSame($extras['label_catalogue'], 'SonataAdminBundle');
+
+        $extras = $menu['route_label']->getExtras();
+        $this->assertArrayHasKey('label_catalogue', $extras);
+        $this->assertSame($extras['label_catalogue'], 'SonataAdminBundle');
     }
 
     /**
@@ -381,6 +401,10 @@ class GroupMenuProviderTest extends PHPUnit_Framework_TestCase
             ->method('generateMenuUrl')
             ->will($this->returnValue(array()));
 
+        $admin->expects($this->any())
+            ->method('getTranslationDomain')
+            ->will($this->returnValue('SonataAdminBundle'));
+
         return $admin;
     }
 }