2012-02-29 14:47:37 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Description of Employees
|
|
|
|
*
|
|
|
|
*/
|
2015-12-17 21:20:49 +01:00
|
|
|
class Employee extends DataObject
|
|
|
|
{
|
|
|
|
|
|
|
|
private static $db = array(
|
|
|
|
'Name' => 'Varchar',
|
|
|
|
'Biography' => 'HTMLText'
|
|
|
|
);
|
|
|
|
|
|
|
|
private static $has_one = array(
|
|
|
|
'Company' => 'Company',
|
|
|
|
'ProfileImage' => 'Image'
|
|
|
|
);
|
2013-01-15 00:43:43 +01:00
|
|
|
|
2015-12-17 21:20:49 +01:00
|
|
|
private static $belongs_many_many = array(
|
|
|
|
'PastCompanies' => 'Company'
|
|
|
|
);
|
2013-01-15 00:43:43 +01:00
|
|
|
|
2015-12-17 21:20:49 +01:00
|
|
|
public function getCMSFields()
|
|
|
|
{
|
|
|
|
$fields = parent::getCMSFields();
|
2013-01-15 00:43:43 +01:00
|
|
|
|
2015-12-17 21:20:49 +01:00
|
|
|
if (method_exists('ManyManyList', 'getExtraFields')) {
|
|
|
|
$fields->addFieldToTab('Root.Main',
|
|
|
|
new NumericField('ManyMany[YearStart]', 'Year started (3.1, many-many only)')
|
|
|
|
);
|
|
|
|
$fields->addFieldToTab('Root.Main',
|
|
|
|
new TextField('ManyMany[Role]', 'Role (3.1, many-many only)')
|
|
|
|
);
|
|
|
|
}
|
2013-01-15 00:43:43 +01:00
|
|
|
|
2015-12-17 21:20:49 +01:00
|
|
|
// 3.1 only
|
|
|
|
if (method_exists('UploadField', 'setAllowedFileCategories')) {
|
|
|
|
$fields->dataFieldByName('ProfileImage')->setAllowedFileCategories('image');
|
|
|
|
}
|
|
|
|
|
2013-05-29 17:26:11 +02:00
|
|
|
|
2015-12-17 21:20:49 +01:00
|
|
|
return $fields;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function requireDefaultRecords()
|
|
|
|
{
|
|
|
|
parent::requireDefaultRecords();
|
|
|
|
$employeeSet = DataObject::get('Employee');
|
|
|
|
foreach ($employeeSet as $employee) {
|
|
|
|
$employee->delete();
|
|
|
|
}
|
|
|
|
|
|
|
|
foreach ($this->data() as $employeeName) {
|
|
|
|
$employee = new Employee();
|
|
|
|
$employee->Name = $employeeName;
|
|
|
|
$employee->write();
|
|
|
|
}
|
|
|
|
DB::alteration_message("Added default records to Employee table", "created");
|
|
|
|
}
|
2013-05-29 17:26:11 +02:00
|
|
|
|
2015-12-17 21:20:49 +01:00
|
|
|
public function validate()
|
|
|
|
{
|
|
|
|
$result = parent::validate();
|
|
|
|
if (!$this->Name) {
|
|
|
|
$result->error('"Name" can\'t be blank');
|
|
|
|
}
|
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Contains test data
|
|
|
|
*
|
|
|
|
* @return array
|
|
|
|
*/
|
|
|
|
public function data()
|
|
|
|
{
|
|
|
|
return array(
|
|
|
|
'Hayley', 'Octavius', 'Walker', 'Gary','Elton','Janna','Ursa','Lars','Moses','Lareina',
|
|
|
|
'Elmo','Cara','Shea','Duncan','Velma','Acton','Galena','Heidi','Troy','Elliott','Cara',
|
|
|
|
'Whitney','Summer','Olga','Tatum','Zeph','Jared','Hilda','Quinlan','Chaim','Xenos',
|
|
|
|
'Cara','Tatiana','Tyrone','Juliet','Chester','Hannah','Imani','Quinn','Ariel','Abel',
|
|
|
|
'Aretha','Courtney ','Shellie','Garrett','Camilla','Simon','Mohammad','Kirby','Rae',
|
|
|
|
'Xena','Noel','Omar','Shannon','Iola','Maia','Serina','Taylor','Alice','Lucy','Austin',
|
|
|
|
'Abel','Quinn','Yetta','Ulysses','Donovan','Castor','Emmanuel','Nero','Virginia',
|
|
|
|
'Gregory','Neville','Abel','Len','Knox','Gavin','Pascale','Hyatt','Alden','Emerald',
|
|
|
|
'Cherokee','Zeph','Adam','Uma','Serena','Isabelle','Kieran','Moses','Gay','Lavinia',
|
|
|
|
'Elvis','Illana','Lee','Ariana','Hilel','Juliet','Gage','Larissa','Richard','Allen'
|
|
|
|
);
|
|
|
|
}
|
2012-02-29 14:47:37 +01:00
|
|
|
}
|