More comprehensive UploadField test cases

This commit is contained in:
Ingo Schommer 2013-05-29 17:26:11 +02:00
parent 2ddb78e6f4
commit 2bd2d5f844
5 changed files with 36 additions and 3 deletions

View File

@ -3,6 +3,7 @@
Member::add_extension('FrameworkTestRole'); Member::add_extension('FrameworkTestRole');
Member::add_extension('FileUploadRole'); Member::add_extension('FileUploadRole');
SiteTree::add_extension('FrameworkTestSiteTreeExtension'); SiteTree::add_extension('FrameworkTestSiteTreeExtension');
File::add_extension('FrameworkTestFileExtension');
if(class_exists('SiteTreeCMSWorkflow')) { if(class_exists('SiteTreeCMSWorkflow')) {
SiteConfig::add_extension('CMSWorkflowSiteConfigDecorator'); SiteConfig::add_extension('CMSWorkflowSiteConfigDecorator');

View File

@ -155,9 +155,10 @@ class BasicFieldsTestPage extends TestPage {
$dateTimeShowCalendar->getTimeField()->setConfig('showdropdown', true); $dateTimeShowCalendar->getTimeField()->setConfig('showdropdown', true);
$fields->addFieldsToTab('Root.File', array( $fields->addFieldsToTab('Root.File', array(
UploadField::create('File','FileUploadField') $bla = UploadField::create('File','FileUploadField')
->setDescription($description) ->setDescription($description)
->setConfig('allowedMaxFileNumber', 1), ->setConfig('allowedMaxFileNumber', 1)
->setConfig('canPreviewFolder', false),
UploadField::create('AttachedFile','UploadField with canUpload=false') UploadField::create('AttachedFile','UploadField with canUpload=false')
->setDescription($description) ->setDescription($description)
->setConfig('canUpload', false), ->setConfig('canUpload', false),

View File

@ -19,7 +19,8 @@ class Company extends DataObject {
); );
private static $has_many = array( private static $has_many = array(
'Employees' => 'Employee' 'Employees' => 'Employee',
'GroupPhotos' => 'Image'
); );
private static $many_many = array( private static $many_many = array(
@ -54,6 +55,18 @@ class Company extends DataObject {
'CEO', 'CEO',
); );
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Main',
$uploadField = UploadField::create('GroupPhotos')
);
if(method_exists('UploadField', 'setAllowedFileCategories')) {
$uploadField->setAllowedFileCategories('image');
}
return $fields;
}
function validate() { function validate() {
if(!$this->Title) { if(!$this->Title) {
return new ValidationResult(false, 'Title is required'); return new ValidationResult(false, 'Title is required');

View File

@ -32,6 +32,12 @@ class Employee extends DataObject {
); );
} }
// 3.1 only
if(method_exists('UploadField', 'setAllowedFileCategories')) {
$fields->dataFieldByName('ProfileImage')->setAllowedFileCategories('image');
}
return $fields; return $fields;
} }
@ -50,6 +56,12 @@ class Employee extends DataObject {
DB::alteration_message("Added default records to Employee table","created"); DB::alteration_message("Added default records to Employee table","created");
} }
public function validate() {
$result = parent::validate();
if(!$this->Name) $result->error('"Name" can\'t be blank');
return $result;
}
/** /**
* Contains test data * Contains test data
* *

View File

@ -0,0 +1,6 @@
<?php
class FrameworkTestFileExtension extends DataExtension {
static $has_one = array(
'Company' => 'Company'
);
}