Added binary type to field type map, defaulting to file input field

Refs  https://github.com/cakephp/cakephp/issues/2071
This commit is contained in:
Marc Würth 2013-10-15 22:25:51 +02:00
parent 5a394c379a
commit bf8a13a77c
2 changed files with 32 additions and 1 deletions

View file

@ -807,6 +807,36 @@ class FormHelperTest extends CakeTestCase {
$this->assertTags($result, $expected);
}
/**
* Tests correct generation of file upload fields for binary fields
*
* @return void
*/
public function testFileUploadFieldTypeGenerationForBinaries() {
$model = ClassRegistry::getObject('Contact');
$model->setSchema(array('foo' => array(
'type' => 'binary',
'null' => false,
'default' => null,
'length' => 1024
)));
$this->Form->create('Contact');
$result = $this->Form->input('foo');
$expected = array(
'div' => array('class' => 'input file'),
'label' => array('for' => 'ContactFoo'),
'Foo',
'/label',
array('input' => array(
'type' => 'file', 'name' => 'data[Contact][foo]',
'id' => 'ContactFoo'
)),
'/div'
);
$this->assertTags($result, $expected);
}
/**
* testFormSecurityMultipleFields method
*

View file

@ -1147,7 +1147,8 @@ class FormHelper extends AppHelper {
'boolean' => 'checkbox', 'timestamp' => 'datetime',
'text' => 'textarea', 'time' => 'time',
'date' => 'date', 'float' => 'number',
'integer' => 'number', 'decimal' => 'number'
'integer' => 'number', 'decimal' => 'number',
'binary' => 'file'
);
if (isset($this->map[$type])) {