Browse Source

Fix for HTML attributes being ignored for individual datetime selects.

Closes #5829
ADmad 11 years ago
parent
commit
40a663405f
2 changed files with 8 additions and 3 deletions
  1. 6 1
      src/View/Helper/FormHelper.php
  2. 2 2
      tests/TestCase/View/Helper/FormHelperTest.php

+ 6 - 1
src/View/Helper/FormHelper.php

@@ -1884,7 +1884,12 @@ class FormHelper extends Helper
             $off,
             array_fill(0, count($off), false)
         );
-        $options = $off + $options;
+
+        $attributes = array_diff_key(
+            $options,
+            ['value' => null, 'empty' => null]
+        );
+        $options = $options + $off + [$keep => $attributes];
 
         if (isset($options['value'])) {
             $options['val'] = $options['value'];

+ 2 - 2
tests/TestCase/View/Helper/FormHelperTest.php

@@ -5194,9 +5194,9 @@ class FormHelperTest extends TestCase
     {
         extract($this->dateRegex);
 
-        $result = $this->Form->day('Model.field', ['value' => '']);
+        $result = $this->Form->day('Model.field', ['value' => '', 'class' => 'form-control']);
         $expected = [
-            ['select' => ['name' => 'Model[field][day]']],
+            ['select' => ['name' => 'Model[field][day]', 'class' => 'form-control']],
             ['option' => ['selected' => 'selected', 'value' => '']],
             '/option',
             ['option' => ['value' => '01']],