protected function doSave()
{
if ($this->getPage()->getIsValid()) {
$record = $this->getCurrentRecord();
if ($this->_editRenderer === null) {
$table = $this->getTableInfo();
$builder = $this->getScaffoldInputBuilder($record);
foreach ($this->getInputRepeater()->getItems() as $item) {
$column = $table->getColumn($item->getCustomData());
$builder->loadScaffoldInput($this, $item, $column, $record);
}
} else {
$this->_editRenderer->updateRecord($record);
}
$record->save();
return true;
} else {
if ($this->_editRenderer !== null) {
//preserve the form data.
$this->_editRenderer->updateRecord($this->getCurrentRecord());
}
}
return false;
}