public function testRouteControllerService()
 {
     $routeCollection = new RouteCollection('baseCodeRoute', 'baseRouteName', 'baseRoutePattern', 'baseControllerServiceName');
     $routeCollection->add('view');
     $route = $routeCollection->get('view');
     $this->assertEquals('baseControllerServiceName:viewAction', $route->getDefault('_controller'));
     $this->assertEquals('baseCodeRoute', $route->getDefault('_sonata_admin'));
     $this->assertEquals('baseRouteName_view', $route->getDefault('_sonata_name'));
 }
 /**
  * Gets named option from current route.
  *
  * @param string $name
  *
  * @return string|null
  */
 protected function getRoutingOption($name)
 {
     $option = null;
     if (!$this->routeCollection instanceof RouteCollection) {
         $this->routeCollection = $this->getRoutesCollection();
     }
     $route = $this->routeCollection->get($this->container->get('request')->get('_route'));
     if ($route instanceof Route) {
         $option = $route->getOption($name);
     }
     if (!$option && isset($this->redirectConf[$name])) {
         $option = $this->redirectConf[$name]['action'];
     }
     if (in_array($option, array(self::REDIRECT, self::REDIRECT_WITHOUT_PATH, self::NO_REDIRECT))) {
         return $option;
     }
     return null;
 }
Пример #3
0
    /**
     * Returns the url defined by the $name
     *
     * @param strinf $name
     * @return Route
     */
    public function getRoute($name)
    {
        $this->buildRoutes();

        if (!$this->routes->has($name)) {
            return false;
        }

        return $this->routes->get($name);
    }
 /**
  * @param RouteCollection $collection
  */
 protected function configureRoutes(RouteCollection $collection)
 {
     foreach (array('edit', 'create', 'delete') as $name) {
         if ($collection->has($name)) {
             $collection->get($name)->addOptions(array('expose' => true));
         }
     }
 }