Skip to content

Commit

Permalink
Add the numbers format console menus, showing the validation options …
Browse files Browse the repository at this point in the history
…in 2 columns.
  • Loading branch information
fitorec authored and markstory committed Jun 11, 2012
1 parent 76dd491 commit fa2a75c
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 12 deletions.
3 changes: 2 additions & 1 deletion lib/Cake/Console/Command/Task/ControllerTask.php
Expand Up @@ -397,11 +397,12 @@ public function listAll($useDbConfig = null) {

if ($this->interactive == true) {
$this->out(__d('cake_console', 'Possible Controllers based on your current database:'));
$this->hr();
$this->_controllerNames = array();
$count = count($this->__tables);
for ($i = 0; $i < $count; $i++) {
$this->_controllerNames[] = $this->_controllerName($this->_modelName($this->__tables[$i]));
$this->out($i + 1 . ". " . $this->_controllerNames[$i]);
$this->out(sprintf("%2d. %s", $i + 1, $this->_controllerNames[$i]));
}
return $this->_controllerNames;
}
Expand Down
25 changes: 15 additions & 10 deletions lib/Cake/Console/Command/Task/ModelTask.php
Expand Up @@ -169,8 +169,9 @@ public function inOptions($options, $prompt = null, $default = null) {
$valid = false;
$max = count($options);
while (!$valid) {
$len = strlen((count($options)+1).'');
foreach ($options as $i => $option) {
$this->out($i + 1 . '. ' . $option);
$this->out(sprintf("%${len}d. %s", $i+1, $option));
}
if (empty($prompt)) {
$prompt = __d('cake_console', 'Make a selection from the choices above');
Expand Down Expand Up @@ -403,20 +404,23 @@ public function fieldValidation($fieldName, $metaData, $primaryKey = 'id') {
while ($anotherValidator == 'y') {
if ($this->interactive) {
$this->out();
$this->out(__d('cake_console', 'Field: %s', $fieldName));
$this->out(__d('cake_console', 'Type: %s', $metaData['type']));
$this->out(__d('cake_console', 'Field: <info>%s</info>', $fieldName));
$this->out(__d('cake_console', 'Type: <info>%s</info>', $metaData['type']));
$this->hr();
$this->out(__d('cake_console', 'Please select one of the following validation options:'));
$this->hr();
}

$prompt = '';
for ($i = 1; $i < $defaultChoice; $i++) {
$prompt .= $i . ' - ' . $this->_validations[$i] . "\n";
for ($i = 1, $m=$defaultChoice/2; $i < $m; $i++) {
$str_aux = sprintf("%2d. %s", $i, $this->_validations[$i]);
$str_aux = $str_aux.str_repeat(" ", 31 - strlen($str_aux));
$str_aux .= sprintf("%2d. %s", $m+$i, $this->_validations[$m+$i]);
$this->out($str_aux);
}
$this->out(__d('cake_console', "%s - Do not do any validation on this field.", $defaultChoice));
$this->hr();
}
$prompt .= __d('cake_console', "%s - Do not do any validation on this field.\n", $defaultChoice);
$prompt .= __d('cake_console', "... or enter in a valid regex validation string.\n");

$prompt = __d('cake_console', "... or enter in a valid regex validation string.\n");
$methods = array_flip($this->_validations);
$guess = $defaultChoice;
if ($metaData['null'] != 1 && !in_array($fieldName, array($primaryKey, 'created', 'modified', 'updated'))) {
Expand Down Expand Up @@ -842,8 +846,9 @@ public function listAll($useDbConfig = null) {
}
if ($this->interactive === true) {
$this->out(__d('cake_console', 'Possible Models based on your current database:'));
$len = strlen(($count+1).'');
for ($i = 0; $i < $count; $i++) {
$this->out($i + 1 . ". " . $this->_modelNames[$i]);
$this->out(sprintf("%${len}d. %s", $i+1, $this->_modelNames[$i]));
}
}
return $this->_tables;
Expand Down
2 changes: 1 addition & 1 deletion lib/Cake/Console/ConsoleOutput.php
Expand Up @@ -137,7 +137,7 @@ class ConsoleOutput {
'debug' => array('text' => 'yellow'),
'success' => array('text' => 'green'),
'comment' => array('text' => 'blue'),
'question' => array('text' => "magenta"),
'question' => array('text' => 'magenta'),
);

/**
Expand Down

0 comments on commit fa2a75c

Please sign in to comment.