mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
Updated Radio and Inputs form helper
Also added UnitTest for radio fieldset class-name
This commit is contained in:
parent
615be3ad14
commit
eeefa03546
2 changed files with 33 additions and 13 deletions
|
@ -3914,6 +3914,25 @@ class FormHelperTest extends CakeTestCase {
|
||||||
);
|
);
|
||||||
$this->assertTags($result, $expected);
|
$this->assertTags($result, $expected);
|
||||||
|
|
||||||
|
$result = $this->Form->radio('Model.field', array('option A', 'option B'), array('fieldset' => 'classy-stuff'));
|
||||||
|
$expected = array(
|
||||||
|
'fieldset' => array('class' => 'classy-stuff'),
|
||||||
|
'legend' => array(),
|
||||||
|
'Field',
|
||||||
|
'/legend',
|
||||||
|
'input' => array('type' => 'hidden', 'name' => 'data[Model][field]', 'value' => '', 'id' => 'ModelField_'),
|
||||||
|
array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '0', 'id' => 'ModelField0')),
|
||||||
|
array('label' => array('for' => 'ModelField0')),
|
||||||
|
'option A',
|
||||||
|
'/label',
|
||||||
|
array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '1', 'id' => 'ModelField1')),
|
||||||
|
array('label' => array('for' => 'ModelField1')),
|
||||||
|
'option B',
|
||||||
|
'/label',
|
||||||
|
'/fieldset'
|
||||||
|
);
|
||||||
|
$this->assertTags($result, $expected);
|
||||||
|
|
||||||
$result = $this->Form->radio(
|
$result = $this->Form->radio(
|
||||||
'Employee.gender',
|
'Employee.gender',
|
||||||
array('male' => 'Male', 'female' => 'Female'),
|
array('male' => 'Male', 'female' => 'Female'),
|
||||||
|
|
|
@ -932,11 +932,15 @@ class FormHelper extends AppHelper {
|
||||||
|
|
||||||
if (isset($options['legend'])) {
|
if (isset($options['legend'])) {
|
||||||
$legend = $options['legend'];
|
$legend = $options['legend'];
|
||||||
|
unset($options['legend']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($options['fieldset'])) {
|
if (isset($options['fieldset'])) {
|
||||||
$fieldset = $options['fieldset'];
|
$fieldset = $options['fieldset'];
|
||||||
|
unset($options['fieldset']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (empty($fields)) {
|
if (empty($fields)) {
|
||||||
$fields = $modelFields;
|
$fields = $modelFields;
|
||||||
}
|
}
|
||||||
|
@ -972,7 +976,7 @@ class FormHelper extends AppHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_string($fieldset)) {
|
if (is_string($fieldset)) {
|
||||||
$fieldsetClass = sprintf(' class="%s"', $fieldset);
|
$fieldsetClass = array('class' => $fieldset);
|
||||||
} else {
|
} else {
|
||||||
$fieldsetClass = '';
|
$fieldsetClass = '';
|
||||||
}
|
}
|
||||||
|
@ -1545,9 +1549,9 @@ class FormHelper extends AppHelper {
|
||||||
$legend = __(Inflector::humanize($this->field()));
|
$legend = __(Inflector::humanize($this->field()));
|
||||||
}
|
}
|
||||||
|
|
||||||
$fieldset = '';
|
$fieldsetAttrs = '';
|
||||||
if (isset($attributes['fieldset'])) {
|
if (isset($attributes['fieldset'])) {
|
||||||
$fieldset = $attributes['fieldset'];
|
$fieldsetAttrs = array('class' => $attributes['fieldset']);
|
||||||
unset($attributes['fieldset']);
|
unset($attributes['fieldset']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1644,13 +1648,10 @@ class FormHelper extends AppHelper {
|
||||||
if (is_array($between)) {
|
if (is_array($between)) {
|
||||||
$between = '';
|
$between = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($legend) {
|
if ($legend) {
|
||||||
if (is_string($fieldset)) {
|
$out = $this->Html->useTag('legend', $legend) . $between . $out;
|
||||||
$fieldsetClass = sprintf(' class="%s"', $fieldset);
|
$out = $this->Html->useTag('fieldset', $fieldsetAttrs, $out);
|
||||||
} else {
|
|
||||||
$fieldsetClass = '';
|
|
||||||
}
|
|
||||||
$out = $this->Html->useTag('fieldset', $fieldsetClass, $this->Html->useTag('legend', $legend) . $between . $out);
|
|
||||||
}
|
}
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue