silverstripe-frameworktest/code/TestFileUploadPage.php

50 lines
1.3 KiB
PHP
Raw Permalink Normal View History

<?php
use SilverStripe\FrameworkTest\Model\TestPage;
use SilverStripe\FrameworkTest\Model\TestPage_Controller;
2016-07-20 00:34:52 +02:00
use SilverStripe\Security\Member;
use SilverStripe\Forms\EmailField;
use SilverStripe\Forms\FileField;
2019-05-07 02:00:07 +02:00
use SilverStripe\AssetAdmin\Forms\UploadField;
use SilverStripe\Control\HTTPResponse;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\FormAction;
use SilverStripe\Forms\Form;
2015-12-17 21:20:49 +01:00
class TestFileUploadPage extends TestPage
{
private static $table_name = 'TestFileUploadPage';
}
2015-12-17 21:20:49 +01:00
class TestFileUploadPage_Controller extends TestPage_Controller
{
private static $allowed_actions = array(
'Form'
);
2016-07-20 00:34:52 +02:00
2015-12-17 21:20:49 +01:00
public function Form()
{
$fields = new FieldList(
new EmailField('Email', 'EmailField'),
new FileField('AFile', 'FileField'),
$aImage = new UploadField('AImage', 'SimpleImageField')
);
2016-07-20 00:34:52 +02:00
2015-12-17 21:20:49 +01:00
$aImage->allowedExtensions = array('jpg', 'gif', 'png');
2016-07-20 00:34:52 +02:00
2015-12-17 21:20:49 +01:00
$actions = new FieldList(
new FormAction('addMember', "Add a member with two Files uploaded")
);
return new Form($this, "Form", $fields, $actions);
}
2016-07-20 00:34:52 +02:00
public function addMember(array $data, Form $form): HTTPResponse
2015-12-17 21:20:49 +01:00
{
$member = new Member();
$form->saveInto($member);
$member->write();
return $this->redirectBack();
2015-12-17 21:20:49 +01:00
}
}