Merge branch 'master' into 2.3

This commit is contained in:
mark_story 2012-10-23 20:20:52 -04:00
commit d2010308d4
2 changed files with 23 additions and 27 deletions

View file

@ -2242,9 +2242,9 @@ class FormHelperTest extends CakeTestCase {
'type' => 'time', 'type' => 'time',
'selected' => '18:15' 'selected' => '18:15'
)); ));
$this->assertRegExp('#<option value="06"[^>]*>6</option>#', $result); $this->assertContains('<option value="06" selected="selected">6</option>', $result);
$this->assertRegExp('#<option value="15"[^>]*>15</option>#', $result); $this->assertContains('<option value="15" selected="selected">15</option>', $result);
$this->assertRegExp('#<option value="pm"[^>]*>pm</option>#', $result); $this->assertContains('<option value="pm" selected="selected">pm</option>', $result);
} }
/** /**
@ -2253,6 +2253,15 @@ class FormHelperTest extends CakeTestCase {
* @return void * @return void
*/ */
public function testTimeSelectedWithInterval() { public function testTimeSelectedWithInterval() {
$result = $this->Form->input('Model.start_time', array(
'type' => 'time',
'interval' => 15,
'selected' => '2012-10-23 15:57:00'
));
$this->assertContains('<option value="04" selected="selected">4</option>', $result);
$this->assertContains('<option value="00" selected="selected">00</option>', $result);
$this->assertContains('<option value="pm" selected="selected">pm</option>', $result);
$result = $this->Form->input('Model.start_time', array( $result = $this->Form->input('Model.start_time', array(
'timeFormat' => 24, 'timeFormat' => 24,
'type' => 'time', 'type' => 'time',
@ -5711,26 +5720,11 @@ class FormHelperTest extends CakeTestCase {
$this->Form->request->data['Model']['field'] = ''; $this->Form->request->data['Model']['field'] = '';
$result = $this->Form->hour('Model.field', true, array('value' => '23')); $result = $this->Form->hour('Model.field', true, array('value' => '23'));
$expected = array( $this->assertContains('<option value="23" selected="selected">23</option>', $result);
array('select' => array('name' => 'data[Model][field][hour]', 'id' => 'ModelFieldHour')),
array('option' => array('value' => '')), $result = $this->Form->hour('Model.field', false, array('value' => '23'));
'/option', $this->assertContains('<option value="11" selected="selected">11</option>', $result);
array('option' => array('value' => '00')),
'0',
'/option',
array('option' => array('value' => '01')),
'1',
'/option',
array('option' => array('value' => '02')),
'2',
'/option',
$hoursRegex,
array('option' => array('value' => '23', 'selected' => 'selected')),
'23',
'/option',
'/select',
);
$this->assertTags($result, $expected);
$this->Form->request->data['Model']['field'] = '2006-10-10 00:12:32'; $this->Form->request->data['Model']['field'] = '2006-10-10 00:12:32';
$result = $this->Form->hour('Model.field', true); $result = $this->Form->hour('Model.field', true);

View file

@ -2059,6 +2059,11 @@ class FormHelper extends AppHelper {
} elseif ($attributes['value'] === false) { } elseif ($attributes['value'] === false) {
$attributes['value'] = null; $attributes['value'] = null;
} }
if ($attributes['value'] > 12 && !$format24Hours) {
$attributes['value'] -= 12;
}
return $this->select( return $this->select(
$fieldName . ".hour", $fieldName . ".hour",
$this->_generateOptions($format24Hours ? 'hour24' : 'hour'), $this->_generateOptions($format24Hours ? 'hour24' : 'hour'),
@ -2223,10 +2228,7 @@ class FormHelper extends AppHelper {
if (!empty($timeFormat)) { if (!empty($timeFormat)) {
$time = explode(':', $days[1]); $time = explode(':', $days[1]);
if (($time[0] > 12) && $timeFormat == '12') { if ($time[0] >= '12' && $timeFormat == '12') {
$time[0] = $time[0] - 12;
$meridian = 'pm';
} elseif ($time[0] == '12' && $timeFormat == '12') {
$meridian = 'pm'; $meridian = 'pm';
} elseif ($time[0] == '00' && $timeFormat == '12') { } elseif ($time[0] == '00' && $timeFormat == '12') {
$time[0] = 12; $time[0] = 12;