Selaa lähdekoodia

Merge pull request #1187 from jvandesande/AdminHasRoute

Add base route code for routes with dots
Thomas 12 vuotta sitten
vanhempi
commit
f7a3b4da4f
2 muutettua tiedostoa jossa 10 lisäystä ja 0 poistoa
  1. 9 0
      Admin/Admin.php
  2. 1 0
      Tests/Admin/BaseAdminTest.php

+ 9 - 0
Admin/Admin.php

@@ -1087,6 +1087,15 @@ abstract class Admin implements AdminInterface, DomainObjectInterface
     {
         $this->buildRoutes();
 
+        if (
+            ! $this->isChild()
+            && strpos($name, '.') !== false
+            && strpos($name, $this->getBaseCodeRoute() . '|') !== 0
+            && strpos($name, $this->getBaseCodeRoute() . '.') !== 0
+        ) {
+            $name = $this->getCode() . '|' . $name;
+        }
+
         return $this->routes->has($name);
     }
 

+ 1 - 0
Tests/Admin/BaseAdminTest.php

@@ -179,6 +179,7 @@ class BaseAdminTest extends \PHPUnit_Framework_TestCase
         $this->assertTrue($postAdmin->hasRoute('show'));
         $this->assertTrue($postAdmin->hasRoute('sonata.post.admin.post.show'));
         $this->assertTrue($postAdmin->hasRoute('sonata.post.admin.post|sonata.post.admin.comment.show'));
+        $this->assertTrue($postAdmin->hasRoute('sonata.post.admin.comment.list'));
 
         $this->assertFalse($postAdmin->hasRoute('sonata.post.admin.post|sonata.post.admin.comment.edit'));
         $this->assertFalse($commentAdmin->hasRoute('edit'));