private function getActionByObject(&$action, $object) { $pos = strpos($action, ':'); if (false === $pos) { if (!$object) { throw new \Exception(sprintf("can not find web page `%s`", $action)); } if ($object instanceof \Doctrine\ORM\Proxy\Proxy) { $class = get_parent_class($object); } else { $class = get_class($object); } if (!$this->loader->hasAdminClass($class)) { throw new \Exception(sprintf("`%s` is not admin class", $class)); } return $this->loader->getNameByClass($class); } $admin = substr($action, 0, $pos); if (!$this->loader->hasAdminName($admin)) { throw new \Exception(sprintf("`%s` is not admin", $admin)); } $action = substr($action, $pos + 1); return $admin; }
public function __construct(\Symforce\AdminBundle\Compiler\Loader\RouteCacheLoader $page_loader, \Symforce\AdminBundle\Compiler\Loader\AdminLoader $loader) { $this->page_loader = $page_loader; $this->loader = $loader; $this->admin = $loader->getAdminByClass($this->admin_class); if (!$this->route_path) { $this->route_path = $this->admin_name; } if ($this->page_parent_entity) { $this->parent_admin = $loader->getAdminByClass($this->page_parent_entity); } if ($this->controller) { $controller_entity_name = preg_replace('/\\\\Controller\\\\(\\w+)Controller$/', '\\\\Entity\\\\\\1', $this->controller); if ($this->loader->hasAdminClass($controller_entity_name)) { $this->controller_admin_name = $this->loader->getAdminByClass($controller_entity_name)->getName(); } } $this->eneity_id_name = $this->admin_name . '_id'; /* $this->page_loader->addFileResource( $this->admin->getReflectionClass()->getFileName() ) ; */ }