API CHANGE Made ComplexTableField not use Object::create() for item and popup classes to be consistent with TableListField. These can be overridden as itemClass and popupClass are public properties on ComplexTableField (from r98543)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102767 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Ingo Schommer 2010-04-14 02:20:13 +00:00
parent b4c425168c
commit c652311ce9

View File

@ -288,7 +288,7 @@ JS;
$output = new DataObjectSet();
foreach($this->sourceItems as $pageIndex=>$item) {
$output->push(Object::create($this->itemClass,$item, $this));
$output->push(new $this->itemClass($item, $this));
}
return $output;
}
@ -591,8 +591,7 @@ JS;
$fields = $this->getFieldsFor($childData);
$validator = $this->getValidatorFor($childData);
$form = Object::create(
$this->popupClass,
$form = new $this->popupClass(
$this,
'AddForm',
$fields,
@ -787,10 +786,14 @@ class ComplexTableField_ItemRequest extends RequestHandler {
$validator = $this->ctf->getValidatorFor($childData);
$readonly = ($this->methodName == "show");
$form = Object::create(
$this->ctf->popupClass,
$this, "DetailForm",
$fields, $validator, $readonly, $childData);
$form = new $this->ctf->popupClass(
$this,
"DetailForm",
$fields,
$validator,
$readonly,
$childData
);
$form->loadDataFrom($childData);
if ($readonly) $form->makeReadonly();