/**
  * @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 sfDoctrineRouteCollection) {
         throw new sfCommandException(sprintf('The route "%s" is not a Doctrine collection route.', $arguments['route']));
     }
     $module = $routeOptions['module'];
     $model = $routeOptions['model'];
     // execute the doctrine:generate-module task
     $task = new sfDoctrineGenerateModuleTask($this->dispatcher, $this->formatter);
     $task->setCommandApplication($this->commandApplication);
     $taskOptions = array('--theme=' . $options['theme'], '--env=' . $options['env'], '--route-prefix=' . $routeOptions['name'], '--with-doctrine-route');
     if ($routeOptions['with_show']) {
         $taskOptions[] = '--with-show';
     }
     if ($options['non-verbose-templates']) {
         $taskOptions[] = '--non-verbose-templates';
     }
     if (!is_null($options['singular'])) {
         $taskOptions[] = '--singular=' . $options['singular'];
     }
     if (!is_null($options['plural'])) {
         $taskOptions[] = '--plural=' . $options['plural'];
     }
     $this->logSection('app', sprintf('Generating module "%s" for model "%s"', $module, $model));
     return $task->run(array($arguments['application'], $module, $model), $taskOptions);
 }
 /**
  * @see sfTask
  */
 protected function execute($arguments = array(), $options = array())
 {
     if (!$options['from-admin-generate']) {
         throw new dmException('Please use dmAdmin:generate instead.');
     }
     return parent::execute($arguments, $options);
 }
 protected function generateForRoute($arguments, $options)
 {
     $routeOptions = $arguments['route']->getOptions();
     if (!$arguments['route'] instanceof sfDoctrineRouteCollection) {
         throw new sfCommandException(sprintf('The route "%s" is not a Doctrine collection route.', $arguments['route_name']));
     }
     $module = $routeOptions['module'];
     $model = $routeOptions['model'];
     // execute the doctrine:generate-module task
     $task = new sfDoctrineGenerateModuleTask($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-doctrine-route' => true, 'generate-in-cache' => true, 'non-verbose-templates' => true, '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 sfDoctrineRouteCollection) {
         throw new sfCommandException(sprintf('The route "%s" is not a Doctrine collection route.', $arguments['route_name']));
     }
     $module = $routeOptions['module'];
     $model = $routeOptions['model'];
     // execute the doctrine:generate-module task
     $task = new sfDoctrineGenerateModuleTask($this->dispatcher, $this->formatter);
     $task->setCommandApplication($this->commandApplication);
     $taskOptions = array('--theme=' . $options['theme'], '--env=' . $options['env'], '--route-prefix=' . $routeOptions['name'], '--with-doctrine-route', '--generate-in-cache', '--non-verbose-templates');
     if (!is_null($options['singular'])) {
         $taskOptions[] = '--singular=' . $options['singular'];
     }
     if (!is_null($options['plural'])) {
         $taskOptions[] = '--plural=' . $options['plural'];
     }
     $this->logSection('app', sprintf('Generating admin module "%s" for model "%s"', $module, $model));
     return $task->run(array($arguments['application'], $module, $model), $taskOptions);
 }