Permalink
Browse files

Add the numbers format console menus, showing the validation options …

…in 2 columns.
  • Loading branch information...
1 parent 76dd491 commit fa2a75c3f11d732e63483150f70ed27fc2bdf825 @fitorec fitorec committed with markstory Jun 4, 2012
@@ -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;
}
@@ -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');
@@ -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'))) {
@@ -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;
@@ -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'),
);
/**

0 comments on commit fa2a75c

Please sign in to comment.