toArray(); foreach($oldFields as $field){ $fields->remove($field); } $fields->push(new LiteralField("Title","

Training

")); $fields->push(new TextField("Name","Name")); $fields->push(new HtmlEditorField("Overview","Overview")); $fields->push(new CheckboxField("Active","Active")); $types = TrainingCourseType::get(); $levels = TrainingCourseLevel::get(); $companies = Company::get(); if($companies){ $fields->push(new DropdownField( 'CompanyID', 'Company', $companies->map("ID", "Name", "Please Select a Company"))); } if($types && $levels && $this->owner->ID>0){ $config = GridFieldConfig_RecordEditor::create(); $courses = new GridField('Courses','Courses',$this->owner->Courses(),$config); $fields->push($courses); } else{ $fields->push(new LiteralField("Warning","** You can not add any Training Course until you create some Training Course Levels and Training Course Types!.")); } return $fields; } function getCMSValidator() { return $this->getValidator(); } function getValidator() { $validator= new RequiredFields(array('Name','Overview','CompanyID')); return $validator; } /** * @param FieldList $fields */ public function updateSummaryFields(&$fields) { $extra_fields = $this->extraStatics(); if(isset($extra_fields['summary_fields'])){ $summary_fields = $extra_fields['summary_fields']; // if summary_fields were passed in numeric array, // convert to an associative array if($summary_fields && array_key_exists(0, $summary_fields)) { $summary_fields = array_combine(array_values($summary_fields), array_values($summary_fields)); } if($summary_fields) $fields = $summary_fields; } } }