/** * @see sfTask */ protected function execute($arguments = array(), $options = array()) { // get configuration for the given route $config = new sfRoutingConfigHandler(); $routes = $config->evaluate($this->configuration->getConfigPaths('config/routing.yml')); if (!isset($routes[$arguments['route']])) { throw new sfCommandException(sprintf('The route "%s" does not exist.', $arguments['route'])); } $routeOptions = $routes[$arguments['route']]->getOptions(); if (!$routes[$arguments['route']] instanceof sfPropelRouteCollection) { throw new sfCommandException(sprintf('The route "%s" is not a Propel collection route.', $arguments['route'])); } $module = $routeOptions['module']; $model = $routeOptions['model']; // execute the propel:generate-module task $task = new sfPropelGenerateModuleTask($this->dispatcher, $this->formatter); $task->setCommandApplication($this->commandApplication); $task->setConfiguration($this->configuration); $this->logSection('app', sprintf('Generating module "%s" for model "%s"', $module, $model)); return $task->run(array($arguments['application'], $module, $model), array('theme' => $options['theme'], 'route-prefix' => $routeOptions['name'], 'with-propel-route' => true, 'with-show' => $routeOptions['with_show'], 'non-verbose-templates' => $options['non-verbose-templates'], 'singular' => $options['singular'], 'plural' => $options['plural'], 'actions-base-class' => $options['actions-base-class'])); }
protected function generateForRoute($arguments, $options) { $routeOptions = $arguments['route']->getOptions(); if (!$arguments['route'] instanceof sfPropel15RouteCollection) { throw new sfCommandException(sprintf('The route "%s" is not a Propel collection route.', $arguments['route_name'])); } $module = $routeOptions['module']; $model = $routeOptions['model']; // execute the propel:generate-module task $task = new sfPropelGenerateModuleTask($this->dispatcher, $this->formatter); $task->setCommandApplication($this->commandApplication); $task->setConfiguration($this->configuration); $this->logSection('app', sprintf('Generating admin module "%s" for model "%s"', $module, $model)); return $task->run(array($arguments['application'], $module, $model), array('theme' => $options['theme'], 'route-prefix' => $routeOptions['name'], 'with-propel-route' => true, 'generate-in-cache' => true, 'non-verbose-templates' => true, 'singular' => $options['singular'], 'plural' => $options['plural'], 'actions-base-class' => $options['actions-base-class'])); }