Merge branch '5.7' into 5

This commit is contained in:
Steve Boyd 2020-11-12 15:18:00 +13:00
commit f81360e737
3 changed files with 15 additions and 3 deletions

View File

@ -0,0 +1,6 @@
---
Name: mimeuploadvalidator-userforms
---
SilverStripe\Core\Injector\Injector:
SilverStripe\Assets\Upload_Validator.userforms:
class: SilverStripe\MimeValidator\MimeUploadValidator

View File

@ -4,9 +4,11 @@ namespace SilverStripe\UserForms\Model\EditableFormField;
use SilverStripe\Assets\File; use SilverStripe\Assets\File;
use SilverStripe\Assets\Folder; use SilverStripe\Assets\Folder;
use SilverStripe\Assets\Upload_Validator;
use SilverStripe\Core\Config\Config; use SilverStripe\Core\Config\Config;
use SilverStripe\Core\Convert; use SilverStripe\Core\Convert;
use SilverStripe\Forms\FieldList; use SilverStripe\Forms\FieldList;
use SilverStripe\Core\Injector\Injector;
use SilverStripe\Forms\FileField; use SilverStripe\Forms\FileField;
use SilverStripe\Forms\LiteralField; use SilverStripe\Forms\LiteralField;
use SilverStripe\Forms\NumericField; use SilverStripe\Forms\NumericField;
@ -185,18 +187,21 @@ class EditableFileField extends EditableFormField
$result = parent::validate(); $result = parent::validate();
$max = static::get_php_max_file_size(); $max = static::get_php_max_file_size();
if ($this->MaxFileSizeMB * 1024 > $max) { if ($this->MaxFileSizeMB * 1024 * 1024 > $max) {
$result->addError("Your max file size limit can't be larger than the server's limit of {$this->getPHPMaxFileSizeMB()}."); $result->addError("Your max file size limit can't be larger than the server's limit of {$this->getPHPMaxFileSizeMB()}.");
} }
return $result; return $result;
} }
public function getFormField() public function getFormField()
{ {
$field = FileField::create($this->Name, $this->Title ?: false) $field = FileField::create($this->Name, $this->Title ?: false)
->setFieldHolderTemplate(EditableFormField::class . '_holder') ->setFieldHolderTemplate(EditableFormField::class . '_holder')
->setTemplate(__CLASS__); ->setTemplate(__CLASS__)
->setValidator(Injector::inst()->get(Upload_Validator::class . '.userforms'));
$field->setFieldHolderTemplate(EditableFormField::class . '_holder') $field->setFieldHolderTemplate(EditableFormField::class . '_holder')
->setTemplate(__CLASS__); ->setTemplate(__CLASS__);

View File

@ -34,7 +34,8 @@
"silverstripe/cms": "^4.6", "silverstripe/cms": "^4.6",
"symbiote/silverstripe-gridfieldextensions": "^3.1", "symbiote/silverstripe-gridfieldextensions": "^3.1",
"silverstripe/segment-field": "^2.0", "silverstripe/segment-field": "^2.0",
"silverstripe/versioned": "^1.0" "silverstripe/versioned": "^1.0",
"silverstripe/mimevalidator": "^2.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^5.7", "phpunit/phpunit": "^5.7",