Merged patch submitted by ajshort that calls loadDataForm on a newly created object in ModelAdmin so that properties of the object are loaded properly

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/branches/2.3@70702 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Saophalkun Ponlu 2009-01-25 21:35:57 +00:00 committed by Sam Minnee
parent 5759314893
commit 12bd84481c

View File

@ -670,28 +670,32 @@ class ModelAdmin_CollectionController extends Controller {
}
/**
* Returns a form for editing the attached model
* Returns a form suitable for adding a new model, falling back on the default edit form
*
* @return Form
*/
public function AddForm() {
$newRecord = new $this->modelClass();
if($newRecord->canCreate()){
if($newRecord->hasMethod('getCMSAddFormFields')) {
$fields = $newRecord->getCMSAddFormFields();
} else {
$fields = $newRecord->getCMSFields();
}
$validator = ($newRecord->hasMethod('getCMSValidator')) ? $newRecord->getCMSValidator() : null;
$actions = new FieldSet(
$actions = new FieldSet (
new FormAction("doCreate", _t('ModelAdmin.ADDBUTTON', "Add"))
);
$form = new Form($this, "AddForm", $fields, $actions, $validator);
$form->loadDataFrom($newRecord);
return $form;
}
}
}
function doCreate($data, $form, $request) {
$className = $this->getModelClass();