When the checkbox controls are arrays, fillin does not work.
The bug is in util/sfFillInForm.class.php :
if ($type == 'checkbox' || $type == 'radio')
{
// checkbox and radio
$element->removeAttribute('checked');
if ($this->hasValue($values, $name) && ($this->getValue($values, $name) == $value || !$element->hasAttribute('value')))
{
$element->setAttribute('checked', 'checked');
}
}
The code "$this->getValue($values, $name) == $value" does not work because the getValue method returns an array in that case. So the validation code must be different either we have single checkbox or multiple checkbox.
In fact it is the same bug as this one http://trac.symfony-project.com/trac/ticket/1342 but with checkbox instead of radio