diff --git a/cake/console/libs/tasks/template.php b/cake/console/libs/tasks/template.php index 105c587673e..4da677c005f 100644 --- a/cake/console/libs/tasks/template.php +++ b/cake/console/libs/tasks/template.php @@ -143,6 +143,12 @@ function getThemePath() { if (!empty($this->params['theme']) && isset($this->templatePaths[$this->params['theme']])) { return $this->templatePaths[$this->params['theme']]; } + + $this->hr(); + $this->out(__('You have more than one set of templates installed.', true)); + $this->out(__('Please choose the template set you wish to use:', true)); + $this->hr(); + $i = 1; $indexedPaths = array(); foreach ($this->templatePaths as $key => $path) { @@ -150,7 +156,9 @@ function getThemePath() { $indexedPaths[$i] = $path; $i++; } - $index = $this->in(__('Which bake theme would you like to use?', true), range(1, $i), 1); + $index = $this->in(__('Which bake theme would you like to use?', true), range(1, $i - 1), 1); + $themeNames = array_keys($this->templatePaths); + $this->Dispatch->params['theme'] = $themeNames[$index - 1]; return $indexedPaths[$index]; } diff --git a/cake/tests/cases/console/libs/tasks/template.test.php b/cake/tests/cases/console/libs/tasks/template.test.php index fbbf605edd7..cfd139870a9 100644 --- a/cake/tests/cases/console/libs/tasks/template.test.php +++ b/cake/tests/cases/console/libs/tasks/template.test.php @@ -128,6 +128,7 @@ function testGetThemePath() { $this->Task->setReturnValueAt(0, 'in', '1'); $result = $this->Task->getThemePath(); $this->assertEqual($result, $defaultTheme); + $this->assertEqual($this->Dispatch->params['theme'], 'default'); } /**