I have created these two classes, but I would like to populate the dropdown in Project from another DataObject table that can be edited inside a tab in ProjectHolder.
class ProjectHolder extends Page {
static $db = array(
);
static $has_one = array(
);
static $has_many = array(
'Projects' => 'Project'
);
function getCMSFields() {
$fields = parent::getCMSFields();
$tablefield = new HasManyComplexTableField(
$this,
'Projects',
'Project',
array(
'title' => 'Title',
'manager' => 'Manager'
),
'getCMSFields_forPopup'
);
$tablefield->setAddTitle( 'A Project' );
$fields->addFieldToTab( 'Root.Content.Projects', $tablefield );
return $fields;
}
}
class Project extends DataObject {
static $db = array(
'title' => 'Text',
'manager' => "Enum('Manager1, Manager2')"
);
static $has_one = array(
'MyProjectHolder' => 'ProjectHolder'
);
function getCMSFields_forPopup() {
$fields = new FieldSet();
$fields->push( new TextField( 'title' ) );
$map = array('1' =>'Manager1','2' => 'Manager2');
$fields->push( new DropdownField(
'manager',
'manager of project',
$map)
);
return $fields;
}
}