' . _t(
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.FileUploadWarning',
+ 'Files uploaded through this field could be publicly accessible if the exact URL is known'
+ ) . '
'
+ ),
+ 'Type'
+ );
$fields->addFieldToTab(
'Root.Main',
@@ -114,7 +111,7 @@ class EditableFileField extends EditableFormField
array_diff(
// filter out '' since this would be a regex problem on JS end
array_filter(Config::inst()->get(File::class, 'allowed_extensions')),
- $this->config()->allowed_extensions_blacklist
+ $this->config()->get('allowed_extensions_blacklist')
)
);
@@ -150,7 +147,7 @@ class EditableFileField extends EditableFormField
public function getSubmittedFormField()
{
- return new SubmittedFileField();
+ return SubmittedFileField::create();
}
diff --git a/code/Model/EditableFormField/EditableFormHeading.php b/code/Model/EditableFormField/EditableFormHeading.php
index 59a3afc..d4a93ef 100644
--- a/code/Model/EditableFormField/EditableFormHeading.php
+++ b/code/Model/EditableFormField/EditableFormHeading.php
@@ -2,40 +2,36 @@
namespace SilverStripe\UserForms\Model\EditableFormField;
-
-
-
-
-use SilverStripe\Forms\DropdownField;
-use SilverStripe\Forms\CheckboxField;
-use SilverStripe\Forms\HeaderField;
use SilverStripe\Core\Convert;
-
+use SilverStripe\Forms\CheckboxField;
+use SilverStripe\Forms\DropdownField;
+use SilverStripe\Forms\HeaderField;
+use SilverStripe\UserForms\Model\EditableFormField;
/**
* Allows an editor to insert a generic heading into a field
*
* @package userforms
*/
-
class EditableFormHeading extends EditableFormField
{
-
private static $singular_name = 'Heading';
private static $plural_name = 'Headings';
private static $literal = true;
- private static $db = array(
+ private static $db = [
'Level' => 'Int(3)', // From CustomSettings
'HideFromReports' => 'Boolean(0)' // from CustomSettings
- );
+ ];
- private static $defaults = array(
+ private static $defaults = [
'Level' => 3,
'HideFromReports' => false
- );
+ ];
+
+ private static $table_name = 'EditableFormHeading';
/**
* @return FieldList
@@ -44,28 +40,28 @@ class EditableFormHeading extends EditableFormField
{
$fields = parent::getCMSFields();
- $fields->removeByName(array('Default', 'Validation', 'RightTitle'));
+ $fields->removeByName(['Default', 'Validation', 'RightTitle']);
- $levels = array(
+ $levels = [
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5',
'6' => '6'
- );
+ ];
- $fields->addFieldsToTab('Root.Main', array(
+ $fields->addFieldsToTab('Root.Main', [
DropdownField::create(
'Level',
- _t('EditableFormHeading.LEVEL', 'Select Heading Level'),
+ _t(__CLASS__.'.LEVEL', 'Select Heading Level'),
$levels
),
CheckboxField::create(
'HideFromReports',
- _t('EditableLiteralField.HIDEFROMREPORT', 'Hide from reports?')
+ _t('SilverStripe\\UserForms\\Model\\EditableFormField\\EditableLiteralField.HIDEFROMREPORT', 'Hide from reports?')
)
- ));
+ ]);
return $fields;
}
diff --git a/code/Model/EditableFormField/EditableFormStep.php b/code/Model/EditableFormField/EditableFormStep.php
index 2aa40f5..2a67084 100644
--- a/code/Model/EditableFormField/EditableFormStep.php
+++ b/code/Model/EditableFormField/EditableFormStep.php
@@ -2,11 +2,9 @@
namespace SilverStripe\UserForms\Model\EditableFormField;
-
-
-use SilverStripe\UserForms\FormField\UserFormsStepField;
use SilverStripe\Forms\LabelField;
-
+use SilverStripe\UserForms\FormField\UserFormsStepField;
+use SilverStripe\UserForms\Model\EditableFormField;
/**
* A step in multi-page user form
@@ -15,7 +13,6 @@ use SilverStripe\Forms\LabelField;
*/
class EditableFormStep extends EditableFormField
{
-
private static $singular_name = 'Page Break';
private static $plural_name = 'Page Breaks';
@@ -28,6 +25,8 @@ class EditableFormStep extends EditableFormField
*/
private static $hidden = true;
+ private static $table_name = 'EditableFormStep';
+
/**
* @return FieldList
*/
@@ -35,7 +34,7 @@ class EditableFormStep extends EditableFormField
{
$fields = parent::getCMSFields();
- $fields->removeByName(array('MergeField', 'Default', 'Validation', 'RightTitle'));
+ $fields->removeByName(['MergeField', 'Default', 'Validation', 'RightTitle']);
return $fields;
}
@@ -70,10 +69,7 @@ class EditableFormStep extends EditableFormField
public function getInlineClassnameField($column, $fieldClasses)
{
- return new LabelField(
- $column,
- $this->CMSTitle
- );
+ return LabelField::create($column, $this->CMSTitle);
}
public function getCMSTitle()
@@ -85,9 +81,7 @@ class EditableFormStep extends EditableFormField
return _t(
'EditableFormStep.STEP_TITLE',
'Page {page}',
- array(
- 'page' => $title
- )
+ ['page' => $title]
);
}
diff --git a/code/Model/EditableFormField/EditableLiteralField.php b/code/Model/EditableFormField/EditableLiteralField.php
index 7bc7dde..62a04a7 100644
--- a/code/Model/EditableFormField/EditableLiteralField.php
+++ b/code/Model/EditableFormField/EditableLiteralField.php
@@ -2,21 +2,14 @@
namespace SilverStripe\UserForms\Model\EditableFormField;
-
-
-
-
-
-
+use SilverStripe\Core\Injector\Injector;
use SilverStripe\Forms\HTMLEditor\HTMLEditorConfig;
use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
-use SilverStripe\Core\Injector\Injector;
use SilverStripe\Forms\HTMLEditor\HTMLEditorSanitiser;
use SilverStripe\Forms\CheckboxField;
-use SilverStripe\Forms\LiteralField;
use SilverStripe\Forms\CompositeField;
-
-
+use SilverStripe\Forms\LiteralField;
+use SilverStripe\UserForms\Model\EditableFormField;
/**
* Editable Literal Field. A literal field is just a blank slate where
@@ -24,14 +17,14 @@ use SilverStripe\Forms\CompositeField;
*
* @package userforms
*/
-
class EditableLiteralField extends EditableFormField
{
-
private static $singular_name = 'HTML Block';
private static $plural_name = 'HTML Blocks';
+ private static $table_name = 'EditableLiteralField';
+
/**
* Mark as literal only
*
@@ -48,15 +41,15 @@ class EditableLiteralField extends EditableFormField
*/
private static $editor_config = null;
- private static $db = array(
+ private static $db = [
'Content' => 'HTMLText', // From CustomSettings
'HideFromReports' => 'Boolean(0)', // from CustomSettings
'HideLabel' => 'Boolean(0)'
- );
+ ];
- private static $defaults = array(
+ private static $defaults = [
'HideFromReports' => false
- );
+ ];
/**
* Returns the {@see HTMLEditorConfig} instance to use for sanitisation
@@ -65,7 +58,7 @@ class EditableLiteralField extends EditableFormField
*/
protected function getEditorConfig()
{
- $editorConfig = $this->config()->editor_config;
+ $editorConfig = $this->config()->get('editor_config');
if ($editorConfig) {
return HTMLEditorConfig::get($editorConfig);
}
@@ -81,7 +74,7 @@ class EditableLiteralField extends EditableFormField
protected function sanitiseContent($content)
{
// Check if sanitisation is enabled
- if (!HTMLEditorField::config()->sanitise_server_side) {
+ if (!HTMLEditorField::config()->get('sanitise_server_side') {
return $content;
}
@@ -123,21 +116,21 @@ class EditableLiteralField extends EditableFormField
{
$fields = parent::getCMSFields();
- $fields->removeByName(array('Default', 'Validation', 'RightTitle'));
+ $fields->removeByName(['Default', 'Validation', 'RightTitle']);
- $fields->addFieldsToTab('Root.Main', array(
- HTMLEditorField::create('Content', _t('EditableLiteralField.CONTENT', 'HTML'))
+ $fields->addFieldsToTab('Root.Main', [
+ HTMLEditorField::create('Content', _t(__CLASS__.'.CONTENT', 'HTML'))
->setRows(4)
->setColumns(20),
CheckboxField::create(
'HideFromReports',
- _t('EditableLiteralField.HIDEFROMREPORT', 'Hide from reports?')
+ _t(__CLASS__.'.HIDEFROMREPORT', 'Hide from reports?')
),
CheckboxField::create(
'HideLabel',
- _t('EditableLiteralField.HIDELABEL', "Hide 'Title' label on frontend?")
+ _t(__CLASS__.'.HIDELABEL', "Hide 'Title' label on frontend?")
)
- ));
+ ]);
return $fields;
}
@@ -172,6 +165,6 @@ class EditableLiteralField extends EditableFormField
public function showInReports()
{
- return ! $this->HideFromReports;
+ return !$this->HideFromReports;
}
}
diff --git a/code/Model/EditableFormField/EditableMemberListField.php b/code/Model/EditableFormField/EditableMemberListField.php
index 977ad74..33f0590 100644
--- a/code/Model/EditableFormField/EditableMemberListField.php
+++ b/code/Model/EditableFormField/EditableMemberListField.php
@@ -2,30 +2,27 @@
namespace SilverStripe\UserForms\Model\EditableFormField;
-
-
-
-use SilverStripe\Security\Group;
use SilverStripe\Forms\DropdownField;
+use SilverStripe\Security\Group;
use SilverStripe\Security\Member;
-
+use SilverStripe\UserForms\Model\EditableFormField;
/**
* Creates an editable field that displays members in a given group
*
* @package userforms
*/
-
class EditableMemberListField extends EditableFormField
{
-
private static $singular_name = 'Member List Field';
private static $plural_name = 'Member List Fields';
- private static $has_one = array(
+ private static $has_one = [
'Group' => Group::class
- );
+ ];
+
+ private static $table_name = 'EditableMemberListField';
/**
* @return FieldList
@@ -40,8 +37,8 @@ class EditableMemberListField extends EditableFormField
$fields->addFieldToTab(
'Root.Main',
DropdownField::create(
- "GroupID",
- _t('EditableFormField.GROUP', Group::class),
+ 'GroupID',
+ _t('SilverStripe\\UserForms\\Model\\EditableFormField.GROUP', Group::class),
Group::get()->map()
)->setEmptyString(' ')
);
@@ -56,7 +53,7 @@ class EditableMemberListField extends EditableFormField
}
$members = Member::map_in_groups($this->GroupID);
- $field = new DropdownField($this->Name, $this->EscapedTitle, $members);
+ $field = DropdownField::create($this->Name, $this->EscapedTitle, $members);
$this->doUpdateFormField($field);
return $field;
}
@@ -66,7 +63,7 @@ class EditableMemberListField extends EditableFormField
if (isset($data[$this->Name])) {
$memberID = $data[$this->Name];
$member = Member::get()->byID($memberID);
- return $member ? $member->getName() : "";
+ return $member ? $member->getName() : '';
}
return false;
diff --git a/code/Model/EditableFormField/EditableMultipleOptionField.php b/code/Model/EditableFormField/EditableMultipleOptionField.php
index ad1a855..4ad768e 100644
--- a/code/Model/EditableFormField/EditableMultipleOptionField.php
+++ b/code/Model/EditableFormField/EditableMultipleOptionField.php
@@ -2,33 +2,22 @@
namespace SilverStripe\UserForms\Model\EditableFormField;
-use GridFieldEditableColumns;
-
-
-
-
-use GridFieldTitleHeader;
-use GridFieldOrderableRows;
-
-use GridFieldAddNewInlineButton;
-
-
-
-
-
-use SilverStripe\UserForms\Model\EditableFormField\EditableOption;
-use SilverStripe\Forms\TextField;
use SilverStripe\Forms\CheckboxField;
-use SilverStripe\Forms\GridField\GridFieldConfig;
-use SilverStripe\Forms\GridField\GridFieldToolbarHeader;
-use SilverStripe\Forms\GridField\GridFieldButtonRow;
-use SilverStripe\Forms\GridField\GridFieldDeleteAction;
+use SilverStripe\Forms\TextField;
use SilverStripe\Forms\GridField\GridField;
+use SilverStripe\Forms\GridField\GridFieldButtonRow;
+use SilverStripe\Forms\GridField\GridFieldConfig;
+use SilverStripe\Forms\GridField\GridFieldDeleteAction;
+use SilverStripe\Forms\GridField\GridFieldToolbarHeader;
use SilverStripe\Forms\Tab;
-use SilverStripe\Versioned\Versioned;
use SilverStripe\ORM\Map;
-
-
+use SilverStripe\UserForms\Model\EditableFormField;
+use SilverStripe\UserForms\Model\EditableFormField\EditableOption;
+use SilverStripe\Versioned\Versioned;
+use Symbiote\GridFieldExtensions\GridFieldAddNewInlineButton;
+use Symbiote\GridFieldExtensions\GridFieldEditableColumns;
+use Symbiote\GridFieldExtensions\GridFieldOrderableRows;
+use Symbiote\GridFieldExtensions\GridFieldTitleHeader;
/**
* Base class for multiple option fields such as {@link EditableDropdownField}
@@ -45,7 +34,6 @@ use SilverStripe\ORM\Map;
class EditableMultipleOptionField extends EditableFormField
{
-
/**
* Define this field as abstract (not inherited)
*
@@ -54,9 +42,11 @@ class EditableMultipleOptionField extends EditableFormField
*/
private static $abstract = true;
- private static $has_many = array(
- "Options" => EditableOption::class
- );
+ private static $has_many = [
+ 'Options' => EditableOption::class
+ ];
+
+ private static $table_name = 'EditableMultipleOptionField';
/**
* @return FieldList
@@ -65,26 +55,26 @@ class EditableMultipleOptionField extends EditableFormField
{
$this->beforeUpdateCMSFields(function($fields) {
$editableColumns = new GridFieldEditableColumns();
- $editableColumns->setDisplayFields(array(
- 'Title' => array(
- 'title' => _t('EditableMultipleOptionField.TITLE', 'Title'),
+ $editableColumns->setDisplayFields([
+ 'Title' => [
+ 'title' => _t(__CLASS__.'.TITLE', 'Title'),
'callback' => function ($record, $column, $grid) {
return TextField::create($column);
}
- ),
- 'Value' => array(
- 'title' => _t('EditableMultipleOptionField.VALUE', 'Value'),
+ ],
+ 'Value' => [
+ 'title' => _t(__CLASS__.'.VALUE', 'Value'),
'callback' => function ($record, $column, $grid) {
return TextField::create($column);
}
- ),
- 'Default' => array(
- 'title' => _t('EditableMultipleOptionField.DEFAULT', 'Selected by default?'),
+ ],
+ 'Default' => [
+ 'title' => _t(__CLASS__.'.DEFAULT', 'Selected by default?'),
'callback' => function ($record, $column, $grid) {
return CheckboxField::create($column);
}
- )
- ));
+ ]
+ ]);
$optionsConfig = GridFieldConfig::create()
->addComponents(
@@ -104,7 +94,7 @@ class EditableMultipleOptionField extends EditableFormField
$optionsConfig
);
- $fields->insertAfter(new Tab('Options', _t('EditableMultipleOptionField.OPTIONSTAB', 'Options')), 'Main');
+ $fields->insertAfter(Tab::create('Options', _t(__CLASS__.'.OPTIONSTAB', 'Options')), 'Main');
$fields->addFieldToTab('Root.Options', $optionsGrid);
});
@@ -139,7 +129,7 @@ class EditableMultipleOptionField extends EditableFormField
*/
protected function publishOptions($fromStage, $toStage, $createNewVersion)
{
- $seenIDs = array();
+ $seenIDs = [];
// Publish all options
foreach ($this->Options() as $option) {
diff --git a/code/Model/EditableFormField/EditableNumericField.php b/code/Model/EditableFormField/EditableNumericField.php
index 86ad02b..2818ac2 100755
--- a/code/Model/EditableFormField/EditableNumericField.php
+++ b/code/Model/EditableFormField/EditableNumericField.php
@@ -2,13 +2,10 @@
namespace SilverStripe\UserForms\Model\EditableFormField;
-
-
-
-use SilverStripe\Forms\NumericField;
-use SilverStripe\Forms\LiteralField;
use SilverStripe\Forms\FieldGroup;
-
+use SilverStripe\Forms\LiteralField;
+use SilverStripe\Forms\NumericField;
+use SilverStripe\UserForms\Model\EditableFormField;
/**
* EditableNumericField
@@ -27,10 +24,12 @@ class EditableNumericField extends EditableFormField
private static $has_placeholder = true;
- private static $db = array(
+ private static $db = [
'MinValue' => 'Int',
'MaxValue' => 'Int'
- );
+ ];
+
+ private static $table_name = 'EditableNumericField';
public function getSetsOwnError()
{
@@ -56,12 +55,12 @@ class EditableNumericField extends EditableFormField
{
$fields = parent::getFieldValidationOptions();
$fields->push(FieldGroup::create(
- _t("EditableNumericField.RANGE", "Allowed numeric range"),
- array(
- new NumericField('MinValue', false),
- new LiteralField('RangeValue', _t("EditableNumericField.RANGE_TO", "to")),
- new NumericField('MaxValue', false)
- )
+ _t(__CLASS__.'.RANGE', 'Allowed numeric range'),
+ [
+ NumericField::create('MinValue', false),
+ LiteralField::create('RangeValue', _t(__CLASS__.'.RANGE_TO', 'to')),
+ NumericField::create('MaxValue', false)
+ ]
));
return $fields;
}
diff --git a/code/Model/EditableFormField/EditableOption.php b/code/Model/EditableFormField/EditableOption.php
index 3d77ecf..297bdfb 100644
--- a/code/Model/EditableFormField/EditableOption.php
+++ b/code/Model/EditableFormField/EditableOption.php
@@ -2,17 +2,12 @@
namespace SilverStripe\UserForms\Model\EditableFormField;
-
-
-
-
-use SilverStripe\UserForms\Model\EditableFormField\EditableMultipleOptionField;
-use SilverStripe\Core\Convert;
-use SilverStripe\Control\Controller;
use SilverStripe\CMS\Controllers\CMSMain;
+use SilverStripe\Control\Controller;
+use SilverStripe\Core\Convert;
use SilverStripe\ORM\DataObject;
-
-
+use SilverStripe\UserForms\Model\EditableFormField\EditableMultipleOptionField;
+use SilverStripe\Versioned\Versioned;
/**
* Base Class for EditableOption Fields such as the ones used in
@@ -23,32 +18,33 @@ use SilverStripe\ORM\DataObject;
*/
class EditableOption extends DataObject
{
+ private static $default_sort = 'Sort';
- private static $default_sort = "Sort";
+ private static $db = [
+ 'Name' => 'Varchar(255)',
+ 'Title' => 'Varchar(255)',
+ 'Default' => 'Boolean',
+ 'Sort' => 'Int',
+ 'Value' => 'Varchar(255)',
+ ];
- private static $db = array(
- "Name" => "Varchar(255)",
- "Title" => "Varchar(255)",
- "Default" => "Boolean",
- "Sort" => "Int",
- "Value" => "Varchar(255)",
- );
+ private static $has_one = [
+ 'Parent' => EditableMultipleOptionField::class,
+ ];
- private static $has_one = array(
- "Parent" => EditableMultipleOptionField::class,
- );
+ private static $extensions = [
+ Versioned::class . "('Stage', 'Live')"
+ ];
- private static $extensions = array(
- "Versioned('Stage', 'Live')"
- );
-
- private static $summary_fields = array(
+ private static $summary_fields = [
'Title',
'Default'
- );
+ ];
protected static $allow_empty_values = false;
+ private static $table_name = 'EditableOption';
+
/**
* Returns whether to allow empty values or not.
*
diff --git a/code/Model/EditableFormField/EditableRadioField.php b/code/Model/EditableFormField/EditableRadioField.php
index 0c5a585..92488c8 100755
--- a/code/Model/EditableFormField/EditableRadioField.php
+++ b/code/Model/EditableFormField/EditableRadioField.php
@@ -2,12 +2,9 @@
namespace SilverStripe\UserForms\Model\EditableFormField;
-
-
use SilverStripe\Forms\OptionsetField;
use SilverStripe\UserForms\Model\EditableCustomRule;
-
/**
* EditableRadioField
*
@@ -18,11 +15,12 @@ use SilverStripe\UserForms\Model\EditableCustomRule;
class EditableRadioField extends EditableMultipleOptionField
{
-
private static $singular_name = 'Radio Group';
private static $plural_name = 'Radio Groups';
+ private static $table_name = 'EditableRadioField';
+
/**
* @return FieldList
*/
diff --git a/code/Model/EditableFormField/EditableTextField.php b/code/Model/EditableFormField/EditableTextField.php
index c2c86b3..f37556e 100644
--- a/code/Model/EditableFormField/EditableTextField.php
+++ b/code/Model/EditableFormField/EditableTextField.php
@@ -2,20 +2,14 @@
namespace SilverStripe\UserForms\Model\EditableFormField;
-
-
-
-
-
-
use SilverStripe\Control\Email\Email;
-use SilverStripe\Forms\NumericField;
use SilverStripe\Forms\DropdownField;
-use SilverStripe\Forms\LiteralField;
use SilverStripe\Forms\FieldGroup;
+use SilverStripe\Forms\LiteralField;
+use SilverStripe\Forms\NumericField;
use SilverStripe\Forms\TextareaField;
use SilverStripe\Forms\TextField;
-
+use SilverStripe\UserForms\Model\EditableFormField;
/**
* EditableTextField
@@ -27,14 +21,14 @@ use SilverStripe\Forms\TextField;
class EditableTextField extends EditableFormField
{
-
private static $singular_name = 'Text Field';
private static $plural_name = 'Text Fields';
private static $has_placeholder = true;
- private static $autocomplete_options = array(
+ /** @skipUpgrade */
+ private static $autocomplete_options = [
'off' => 'Off',
'on' => 'On',
'name' => 'Full name',
@@ -44,7 +38,7 @@ class EditableTextField extends EditableFormField
'family-name' => 'Family name',
'honorific-suffix' => 'Suffix (e.g Jr.)',
'nickname' => 'Nickname',
- 'email' => Email::class,
+ 'email' => 'Email',
'organization-title' => 'Job title',
'organization' => 'Organization',
'street-address' => 'Street address',
@@ -62,50 +56,46 @@ class EditableTextField extends EditableFormField
'sex' => 'Gender identity',
'tel' => 'Telephone number',
'url' => 'Home page'
- );
+ ];
protected $jsEventHandler = 'keyup';
- private static $db = array(
+ private static $db = [
'MinLength' => 'Int',
'MaxLength' => 'Int',
'Rows' => 'Int(1)',
'Autocomplete' => 'Varchar(255)'
- );
+ ];
- private static $defaults = array(
+ private static $defaults = [
'Rows' => 1
- );
+ ];
+
+ private static $table_name = 'EditableTextField';
public function getCMSFields()
{
- // PHP 5.3 compat
- $self = $this;
-
- $this->beforeUpdateCMSFields(function ($fields) use ($self) {
- $fields->addFieldToTab(
+ $this->beforeUpdateCMSFields(function ($fields) {
+ $fields->addFieldsToTab(
'Root.Main',
- NumericField::create(
- 'Rows',
- _t('EditableTextField.NUMBERROWS', 'Number of rows')
- )->setDescription(_t(
- 'EditableTextField.NUMBERROWS_DESCRIPTION',
- 'Fields with more than one row will be generated as a textarea'
- ))
+ [
+ NumericField::create(
+ 'Rows',
+ _t(__CLASS__.'.NUMBERROWS', 'Number of rows')
+ )->setDescription(_t(
+ __CLASS__.'.NUMBERROWS_DESCRIPTION',
+ 'Fields with more than one row will be generated as a textarea'
+ )),
+ DropdownField::create(
+ 'Autocomplete',
+ _t(__CLASS__.'.AUTOCOMPLETE', 'Autocomplete'),
+ $this->config()->get('autocomplete_options')
+ )->setDescription(_t(
+ __CLASS__.'.AUTOCOMPLETE_DESCRIPTION',
+ 'Supported browsers will attempt to populate this field automatically with the users information, use to set the value populated'
+ ))
+ ]
);
-
- $fields->addFieldToTab(
- 'Root.Main',
- DropdownField::create(
- 'Autocomplete',
- _t('EditableTextField.AUTOCOMPLETE', 'Autocomplete'),
- $self->config()->get('autocomplete_options')
- )->setDescription(_t(
- 'EditableTextField.AUTOCOMPLETE_DESCRIPTION',
- 'Supported browsers will attempt to populate this field automatically with the users information, use to set the value populated'
- ))
- );
-
});
return parent::getCMSFields();
@@ -118,16 +108,16 @@ class EditableTextField extends EditableFormField
{
$fields = parent::getFieldValidationOptions();
- $fields->merge(array(
+ $fields->merge([
FieldGroup::create(
- _t('EditableTextField.TEXTLENGTH', 'Allowed text length'),
- array(
+ _t(__CLASS__.'.TEXTLENGTH', 'Allowed text length'),
+ [
NumericField::create('MinLength', false),
- LiteralField::create('RangeLength', _t("EditableTextField.RANGE_TO", "to")),
+ LiteralField::create('RangeLength', _t(__CLASS__.".RANGE_TO", "to")),
NumericField::create('MaxLength', false)
- )
+ ]
)
- ));
+ ]);
return $fields;
}
diff --git a/code/Model/EditableFormField/EditableFormFieldValidator.php b/code/Model/EditableFormField/Validator.php
similarity index 86%
rename from code/Model/EditableFormField/EditableFormFieldValidator.php
rename to code/Model/EditableFormField/Validator.php
index 9017701..3b7538f 100644
--- a/code/Model/EditableFormField/EditableFormFieldValidator.php
+++ b/code/Model/EditableFormField/Validator.php
@@ -2,16 +2,11 @@
namespace SilverStripe\UserForms\Model\EditableFormField;
-
-
-use SilverStripe\UserForms\Model\EditableCustomRule;
use SilverStripe\Forms\RequiredFields;
+use SilverStripe\UserForms\Model\EditableCustomRule;
-
-
-class EditableFormFieldValidator extends RequiredFields
+class Validator extends RequiredFields
{
-
/**
*
* @var EditableFormField
@@ -64,8 +59,8 @@ class EditableFormFieldValidator extends RequiredFields
$this->validationError(
'Required_Error',
_t(
- "EditableFormFieldValidator.REQUIRED_ERROR",
- "Form fields cannot be required and have conditional display rules."
+ __CLASS__.'.REQUIRED_ERROR',
+ 'Form fields cannot be required and have conditional display rules.'
),
'error'
);
diff --git a/code/Model/Recipient/UserDefinedForm_EmailRecipient.php b/code/Model/Recipient/EmailRecipient.php
similarity index 71%
rename from code/Model/Recipient/UserDefinedForm_EmailRecipient.php
rename to code/Model/Recipient/EmailRecipient.php
index e73343f..52abf83 100644
--- a/code/Model/Recipient/UserDefinedForm_EmailRecipient.php
+++ b/code/Model/Recipient/EmailRecipient.php
@@ -2,66 +2,38 @@
namespace SilverStripe\UserForms\Model\Recipient;
-
-
-
-
-
-
-use GridFieldAddNewInlineButton;
-
-use GridFieldEditableColumns;
-
-
-
-
-
-
-
-
-use Tabset;
-
-
-
-
-
-
-
-
-
-
-use SilverStripe\UserForms\Model\UserDefinedForm;
-use SilverStripe\UserForms\Model\EditableFormField\EditableFormField;
-use SilverStripe\UserForms\Model\Recipient\UserDefinedForm_EmailRecipientCondition;
-use SilverStripe\Control\Email\Email;
-use SilverStripe\Control\Session;
-use SilverStripe\Forms\GridField\GridFieldConfig;
-use SilverStripe\Forms\GridField\GridFieldButtonRow;
-use SilverStripe\Forms\GridField\GridFieldToolbarHeader;
-use SilverStripe\Forms\GridField\GridFieldDeleteAction;
-use SilverStripe\Forms\DropdownField;
-use SilverStripe\Forms\TextField;
-use SilverStripe\View\Requirements;
-use SilverStripe\UserForms\Model\EditableFormField\EditableMultipleOptionField;
-use SilverStripe\UserForms\Model\EditableFormField\EditableEmailField;
-use SilverStripe\UserForms\Model\EditableFormField\EditableTextField;
-use SilverStripe\ORM\ArrayList;
-use SilverStripe\Forms\FieldList;
-use SilverStripe\Forms\FieldGroup;
+use SilverStripe\Assets\FileFinder;
+use SilverStripe\CMS\Controllers\CMSMain;
use SilverStripe\CMS\Controllers\CMSPageEditController;
use SilverStripe\Control\Controller;
+use SilverStripe\Control\Email\Email;
+use SilverStripe\Control\Session;
use SilverStripe\Forms\CheckboxField;
-use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
-use SilverStripe\Forms\TextareaField;
-use SilverStripe\Forms\LiteralField;
-use SilverStripe\Forms\GridField\GridField;
+use SilverStripe\Forms\DropdownField;
+use SilverStripe\Forms\FieldGroup;
+use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\Form;
-use SilverStripe\CMS\Controllers\CMSMain;
-use SilverStripe\Assets\FileFinder;
+use SilverStripe\Forms\GridField\GridField;
+use SilverStripe\Forms\GridField\GridFieldButtonRow;
+use SilverStripe\Forms\GridField\GridFieldConfig;
+use SilverStripe\Forms\GridField\GridFieldDeleteAction;
+use SilverStripe\Forms\GridField\GridFieldToolbarHeader;
+use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
+use SilverStripe\Forms\LiteralField;
+use SilverStripe\Forms\TabSet;
+use SilverStripe\Forms\TextareaField;
+use SilverStripe\Forms\TextField;
+use SilverStripe\ORM\ArrayList;
use SilverStripe\ORM\DataObject;
-
-
-
+use SilverStripe\UserForms\Model\EditableFormField\EditableEmailField;
+use SilverStripe\UserForms\Model\EditableFormField\EditableFormField;
+use SilverStripe\UserForms\Model\EditableFormField\EditableMultipleOptionField;
+use SilverStripe\UserForms\Model\EditableFormField\EditableTextField;
+use SilverStripe\UserForms\Model\Recipient\EmailRecipientCondition;
+use SilverStripe\UserForms\Model\UserDefinedForm;
+use SilverStripe\View\Requirements;
+use Symbiote\GridFieldExtensions\GridFieldAddNewInlineButton;
+use Symbiote\GridFieldExtensions\GridFieldEditableColumns;
/**
* A Form can have multiply members / emails to email the submission
@@ -69,10 +41,9 @@ use SilverStripe\ORM\DataObject;
*
* @package userforms
*/
-class UserDefinedForm_EmailRecipient extends DataObject
+class EmailRecipient extends DataObject
{
-
- private static $db = array(
+ private static $db = [
'EmailAddress' => 'Varchar(200)',
'EmailSubject' => 'Varchar(200)',
'EmailFrom' => 'Varchar(200)',
@@ -83,24 +54,26 @@ class UserDefinedForm_EmailRecipient extends DataObject
'SendPlain' => 'Boolean',
'HideFormData' => 'Boolean',
'CustomRulesCondition' => 'Enum("And,Or")'
- );
+ ];
- private static $has_one = array(
+ private static $has_one = [
'Form' => UserDefinedForm::class,
'SendEmailFromField' => EditableFormField::class,
'SendEmailToField' => EditableFormField::class,
'SendEmailSubjectField' => EditableFormField::class
- );
+ ];
- private static $has_many = array(
- 'CustomRules' => UserDefinedForm_EmailRecipientCondition::class
- );
+ private static $has_many = [
+ 'CustomRules' => EmailRecipientCondition::class
+ ];
- private static $summary_fields = array(
+ private static $summary_fields = [
'EmailAddress',
'EmailSubject',
'EmailFrom'
- );
+ ];
+
+ private static $table_name = 'UserDefinedForm_EmailRecipient';
/**
* Setting this to true will allow you to select "risky" fields as
@@ -117,13 +90,13 @@ class UserDefinedForm_EmailRecipient extends DataObject
{
$fields = parent::summaryFields();
if (isset($fields['EmailAddress'])) {
- $fields['EmailAddress'] = _t('UserDefinedForm.EMAILADDRESS', Email::class);
+ $fields['EmailAddress'] = _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.EMAILADDRESS', Email::class);
}
if (isset($fields['EmailSubject'])) {
- $fields['EmailSubject'] = _t('UserDefinedForm.EMAILSUBJECT', 'Subject');
+ $fields['EmailSubject'] = _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.EMAILSUBJECT', 'Subject');
}
if (isset($fields['EmailFrom'])) {
- $fields['EmailFrom'] = _t('UserDefinedForm.EMAILFROM', 'From');
+ $fields['EmailFrom'] = _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.EMAILFROM', 'From');
}
return $fields;
}
@@ -175,7 +148,7 @@ class UserDefinedForm_EmailRecipient extends DataObject
return DropdownField::create($column, false, $formFields->map('ID', 'Title'));
},
'ConditionOption' => function ($record, $column, $grid) {
- $options = UserDefinedForm_EmailRecipientCondition::config()->condition_options;
+ $options = EmailRecipientCondition::config()->condition_options;
return DropdownField::create($column, false, $options);
},
'ConditionValue' => function ($record, $column, $grid) {
@@ -213,7 +186,7 @@ class UserDefinedForm_EmailRecipient extends DataObject
// Check valid email-recipient fields
- if ($this->config()->allow_unbound_recipient_fields) {
+ if ($this->config()->get('allow_unbound_recipient_fields')) {
// To address can only be email fields or multi option fields
$validEmailToFields = ArrayList::create($validEmailFromFields->toArray());
$validEmailToFields->merge($multiOptionFields);
@@ -226,40 +199,55 @@ class UserDefinedForm_EmailRecipient extends DataObject
$fields = FieldList::create(Tabset::create('Root')->addExtraClass('EmailRecipientForm'));
// Configuration fields
- $fields->addFieldsToTab('Root.EmailDetails', array(
+ $fields->addFieldsToTab('Root.EmailDetails', [
// Subject
FieldGroup::create(
- TextField::create('EmailSubject', _t('UserDefinedForm.TYPESUBJECT', 'Type subject'))
+ TextField::create(
+ 'EmailSubject',
+ _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.TYPESUBJECT', 'Type subject')
+ )
->setAttribute('style', 'min-width: 400px;'),
DropdownField::create(
'SendEmailSubjectFieldID',
- _t('UserDefinedForm.SELECTAFIELDTOSETSUBJECT', '.. or select a field to use as the subject'),
+ _t(
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.SELECTAFIELDTOSETSUBJECT',
+ '.. or select a field to use as the subject'
+ ),
$validSubjectFields->map('ID', 'Title')
)->setEmptyString('')
)
- ->setTitle(_t('UserDefinedForm.EMAILSUBJECT', 'Email subject')),
+ ->setTitle(_t('SilverStripe\\UserForms\\Model\\UserDefinedForm.EMAILSUBJECT', 'Email subject')),
// To
FieldGroup::create(
- TextField::create('EmailAddress', _t('UserDefinedForm.TYPETO', 'Type to address'))
+ TextField::create(
+ 'EmailAddress',
+ _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.TYPETO', 'Type to address')
+ )
->setAttribute('style', 'min-width: 400px;'),
DropdownField::create(
'SendEmailToFieldID',
- _t('UserDefinedForm.ORSELECTAFIELDTOUSEASTO', '.. or select a field to use as the to address'),
+ _t(
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.ORSELECTAFIELDTOUSEASTO',
+ '.. or select a field to use as the to address'
+ ),
$validEmailToFields->map('ID', 'Title')
)->setEmptyString(' ')
)
- ->setTitle(_t('UserDefinedForm.SENDEMAILTO', 'Send email to'))
+ ->setTitle(_t('SilverStripe\\UserForms\\Model\\UserDefinedForm.SENDEMAILTO', 'Send email to'))
->setDescription(_t(
- 'UserDefinedForm.SENDEMAILTO_DESCRIPTION',
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.SENDEMAILTO_DESCRIPTION',
'You may enter multiple email addresses as a comma separated list.'
)),
// From
- TextField::create('EmailFrom', _t('UserDefinedForm.FROMADDRESS', 'Send email from'))
+ TextField::create(
+ 'EmailFrom',
+ _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.FROMADDRESS', 'Send email from')
+ )
->setDescription(_t(
- 'UserDefinedForm.EmailFromContent',
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.EmailFromContent',
"The from address allows you to set who the email comes from. On most servers this ".
"will need to be set to an email address on the same domain name as your site. ".
"For example on yoursite.com the from address may need to be something@yoursite.com. ".
@@ -269,22 +257,31 @@ class UserDefinedForm_EmailRecipient extends DataObject
// Reply-To
FieldGroup::create(
- TextField::create('EmailReplyTo', _t('UserDefinedForm.TYPEREPLY', 'Type reply address'))
+ TextField::create('EmailReplyTo', _t(
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.TYPEREPLY',
+ 'Type reply address'
+ ))
->setAttribute('style', 'min-width: 400px;'),
DropdownField::create(
'SendEmailFromFieldID',
- _t('UserDefinedForm.ORSELECTAFIELDTOUSEASFROM', '.. or select a field to use as reply to address'),
+ _t(
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.ORSELECTAFIELDTOUSEASFROM',
+ '.. or select a field to use as reply to address'
+ ),
$validEmailFromFields->map('ID', 'Title')
)->setEmptyString(' ')
)
- ->setTitle(_t('UserDefinedForm.REPLYADDRESS', 'Email for reply to'))
+ ->setTitle(_t(
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.REPLYADDRESS',
+ 'Email for reply to'
+ ))
->setDescription(_t(
- 'UserDefinedForm.REPLYADDRESS_DESCRIPTION',
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.REPLYADDRESS_DESCRIPTION',
'The email address which the recipient is able to \'reply\' to.'
))
- ));
+ ]);
- $fields->fieldByName('Root.EmailDetails')->setTitle(_t('UserDefinedForm_EmailRecipient.EMAILDETAILSTAB', 'Email Details'));
+ $fields->fieldByName('Root.EmailDetails')->setTitle(_t(__CLASS.'.EMAILDETAILSTAB', 'Email Details'));
// Only show the preview link if the recipient has been saved.
if (!empty($this->EmailTemplate)) {
@@ -294,64 +291,79 @@ class UserDefinedForm_EmailRecipient extends DataObject
singleton(CMSPageEditController::class)->getEditForm()->FormAction(),
"field/EmailRecipients/item/{$this->ID}/preview"
),
- _t('UserDefinedForm.PREVIEW_EMAIL', 'Preview email'),
- _t('UserDefinedForm.PREVIEW_EMAIL_DESCRIPTION', 'Note: Unsaved changes will not appear in the preview.')
+ _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.PREVIEW_EMAIL', 'Preview email'),
+ _t(
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.PREVIEW_EMAIL_DESCRIPTION',
+ 'Note: Unsaved changes will not appear in the preview.'
+ )
);
} else {
$preview = sprintf(
'%s',
_t(
- 'UserDefinedForm.PREVIEW_EMAIL_UNAVAILABLE',
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.PREVIEW_EMAIL_UNAVAILABLE',
'You can preview this email once you have saved the Recipient.'
)
);
}
// Email templates
- $fields->addFieldsToTab('Root.EmailContent', array(
- CheckboxField::create('HideFormData', _t('UserDefinedForm.HIDEFORMDATA', 'Hide form data from email?')),
+ $fields->addFieldsToTab('Root.EmailContent', [
+ CheckboxField::create(
+ 'HideFormData',
+ _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.HIDEFORMDATA', 'Hide form data from email?')
+ ),
CheckboxField::create(
'SendPlain',
- _t('UserDefinedForm.SENDPLAIN', 'Send email as plain text? (HTML will be stripped)')
+ _t(
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.SENDPLAIN',
+ 'Send email as plain text? (HTML will be stripped)'
+ )
),
DropdownField::create(
'EmailTemplate',
- _t('UserDefinedForm.EMAILTEMPLATE', 'Email template'),
+ _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.EMAILTEMPLATE', 'Email template'),
$this->getEmailTemplateDropdownValues()
)->addExtraClass('toggle-html-only'),
- HTMLEditorField::create('EmailBodyHtml', _t('UserDefinedForm.EMAILBODYHTML', 'Body'))
+ HTMLEditorField::create(
+ 'EmailBodyHtml',
+ _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.EMAILBODYHTML', 'Body')
+ )
->addExtraClass('toggle-html-only'),
- TextareaField::create('EmailBody', _t('UserDefinedForm.EMAILBODY', 'Body'))
+ TextareaField::create(
+ 'EmailBody',
+ _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.EMAILBODY', 'Body')
+ )
->addExtraClass('toggle-plain-only'),
LiteralField::create('EmailPreview', $preview)
));
- $fields->fieldByName('Root.EmailContent')->setTitle(_t('UserDefinedForm_EmailRecipient.EMAILCONTENTTAB', 'Email Content'));
+ $fields->fieldByName('Root.EmailContent')->setTitle(_t(__CLASS.'.EMAILCONTENTTAB', 'Email Content'));
// Custom rules for sending this field
- $grid = new GridField(
- "CustomRules",
- _t('EditableFormField.CUSTOMRULES', 'Custom Rules'),
+ $grid = GridField::create(
+ 'CustomRules',
+ _t('SilverStripe\\UserForms\\Model\\EditableFormField.CUSTOMRULES', 'Custom Rules'),
$this->CustomRules(),
$this->getRulesConfig()
);
$grid->setDescription(_t(
- 'UserDefinedForm.RulesDescription',
+ 'SilverStripe\\UserForms\\Model\\UserDefinedForm.RulesDescription',
'Emails will only be sent to the recipient if the custom rules are met. If no rules are defined, this receipient will receive notifications for every submission.'
));
- $fields->addFieldsToTab('Root.CustomRules', array(
- new DropdownField(
+ $fields->addFieldsToTab('Root.CustomRules', [
+ DropdownField::create(
'CustomRulesCondition',
- _t('UserDefinedForm.SENDIF', 'Send condition'),
- array(
- 'Or' => _t('UserDefinedForm.SENDIFOR', 'Any conditions are true'),
- 'And' => _t('UserDefinedForm.SENDIFAND', 'All conditions are true')
- )
+ _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.SENDIF', 'Send condition'),
+ [
+ 'Or' => _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.SENDIFOR', 'Any conditions are true'),
+ 'And' => _t('SilverStripe\\UserForms\\Model\\UserDefinedForm.SENDIFAND', 'All conditions are true')
+ ]
),
$grid
- ));
+ ]);
- $fields->fieldByName('Root.CustomRules')->setTitle(_t('UserDefinedForm_EmailRecipient.CUSTOMRULESTAB', 'Custom Rules'));
+ $fields->fieldByName('Root.CustomRules')->setTitle(_t(__CLASS.'.CUSTOMRULESTAB', 'Custom Rules'));
$this->extend('updateCMSFields', $fields);
return $fields;
@@ -445,7 +457,7 @@ class UserDefinedForm_EmailRecipient extends DataObject
// Check all rules
$isAnd = $this->CustomRulesCondition === 'And';
foreach ($customRules as $customRule) {
- /** @var UserDefinedForm_EmailRecipientCondition $customRule */
+ /** @var EmailRecipientCondition $customRule */
$matches = $customRule->matches($data);
if ($isAnd && !$matches) {
return false;
@@ -493,12 +505,12 @@ class UserDefinedForm_EmailRecipient extends DataObject
*/
public function getEmailTemplateDropdownValues()
{
- $templates = array();
+ $templates = [];
$finder = new FileFinder();
$finder->setOption('name_regex', '/^.*\.ss$/');
- $found = $finder->find(BASE_PATH . '/' . UserDefinedForm::config()->email_template_directory);
+ $found = $finder->find(BASE_PATH . '/' . UserDefinedForm::config()->get('email_template_directory'));
foreach ($found as $key => $value) {
$template = pathinfo($value);
@@ -516,11 +528,11 @@ class UserDefinedForm_EmailRecipient extends DataObject
*/
public function validate() {
$result = parent::validate();
- $checkEmail = array(
+ $checkEmail = [
'EmailAddress' => 'EMAILADDRESSINVALID',
'EmailFrom' => 'EMAILFROMINVALID',
'EmailReplyTo' => 'EMAILREPLYTOINVALID',
- );
+ ];
foreach ($checkEmail as $check => $translation) {
if ($this->$check) {
//may be a comma separated list of emails
@@ -528,7 +540,7 @@ class UserDefinedForm_EmailRecipient extends DataObject
foreach ($addresses as $address) {
$trimAddress = trim($address);
if ($trimAddress && !Email::is_valid_address($trimAddress)) {
- $error = _t("UserDefinedForm_EmailRecipient.$translation",
+ $error = _t(__CLASS.".$translation",
"Invalid email address $trimAddress");
$result->error($error . " ($trimAddress)");
}
diff --git a/code/Model/Recipient/UserDefinedForm_EmailRecipientCondition.php b/code/Model/Recipient/EmailRecipientCondition.php
similarity index 85%
rename from code/Model/Recipient/UserDefinedForm_EmailRecipientCondition.php
rename to code/Model/Recipient/EmailRecipientCondition.php
index bb3664b..06b82ed 100644
--- a/code/Model/Recipient/UserDefinedForm_EmailRecipientCondition.php
+++ b/code/Model/Recipient/EmailRecipientCondition.php
@@ -2,58 +2,53 @@
namespace SilverStripe\UserForms\Model\Recipient;
-
use LogicException;
-
-
-use SilverStripe\UserForms\Model\Recipient\UserDefinedForm_EmailRecipient;
-use SilverStripe\UserForms\Model\EditableFormField\EditableFormField;
-use SilverStripe\Control\Controller;
use SilverStripe\CMS\Controllers\CMSMain;
+use SilverStripe\Control\Controller;
use SilverStripe\ORM\DataObject;
-
-
-
+use SilverStripe\UserForms\Model\Recipient\EmailRecipient;
+use SilverStripe\UserForms\Model\EditableFormField\EditableFormField;
/**
* Declares a condition that determines whether an email can be sent to a given recipient
*
- * @method UserDefinedForm_EmailRecipient Parent()
+ * @method EmailRecipient Parent()
*
* @property Enum ConditionOption
* @property Varchar ConditionValue
*
* @method EditableFormField ConditionField
*/
-class UserDefinedForm_EmailRecipientCondition extends DataObject
+class EmailRecipientCondition extends DataObject
{
-
/**
* List of options
*
* @config
* @var array
*/
- private static $condition_options = array(
- "IsBlank" => "Is blank",
- "IsNotBlank" => "Is not blank",
- "Equals" => "Equals",
- "NotEquals" => "Doesn't equal",
- "ValueLessThan" => "Less than",
- "ValueLessThanEqual" => "Less than or equal",
- "ValueGreaterThan" => "Greater than",
- "ValueGreaterThanEqual" => "Greater than or equal"
- );
+ private static $condition_options = [
+ 'IsBlank' => 'Is blank',
+ 'IsNotBlank' => 'Is not blank',
+ 'Equals' => 'Equals',
+ 'NotEquals' => "Doesn't equal",
+ 'ValueLessThan' => 'Less than',
+ 'ValueLessThanEqual' => 'Less than or equal',
+ 'ValueGreaterThan' => 'Greater than',
+ 'ValueGreaterThanEqual' => 'Greater than or equal'
+ ];
- private static $db = array(
+ private static $db = [
'ConditionOption' => 'Enum("IsBlank,IsNotBlank,Equals,NotEquals,ValueLessThan,ValueLessThanEqual,ValueGreaterThan,ValueGreaterThanEqual")',
'ConditionValue' => 'Varchar'
- );
+ ];
- private static $has_one = array(
- 'Parent' => UserDefinedForm_EmailRecipient::class,
+ private static $has_one = [
+ 'Parent' => EmailRecipient::class,
'ConditionField' => EditableFormField::class
- );
+ ];
+
+ private static $table_name = 'UserDefinedForm_EmailRecipientCondition';
/**
*
diff --git a/code/Model/Recipient/UserFormRecipientEmail.php b/code/Model/Recipient/UserFormRecipientEmail.php
index c1d3019..a20d938 100644
--- a/code/Model/Recipient/UserFormRecipientEmail.php
+++ b/code/Model/Recipient/UserFormRecipientEmail.php
@@ -2,12 +2,8 @@
namespace SilverStripe\UserForms\Model\Recipient;
-
use SilverStripe\Control\Email\Email;
-
-
-
/**
* Email that gets sent to the people listed in the Email Recipients when a
* submission is made.
@@ -17,8 +13,7 @@ use SilverStripe\Control\Email\Email;
class UserFormRecipientEmail extends Email
{
-
- protected $ss_template = "SubmittedFormEmail";
+ protected $ss_template = 'SubmittedFormEmail';
protected $data;
diff --git a/code/Model/Recipient/UserFormRecipientItemRequest.php b/code/Model/Recipient/UserFormRecipientItemRequest.php
index 5977a8c..dc07400 100644
--- a/code/Model/Recipient/UserFormRecipientItemRequest.php
+++ b/code/Model/Recipient/UserFormRecipientItemRequest.php
@@ -2,21 +2,14 @@
namespace SilverStripe\UserForms\Model\Recipient;
-
-
-
-
-
use SilverStripe\Core\Config\Config;
-use SilverStripe\View\SSViewer;
-use SilverStripe\View\ArrayData;
+use SilverStripe\Forms\GridField\GridFieldDetailForm_ItemRequest;
use SilverStripe\ORM\ArrayList;
+use SilverStripe\ORM\FieldType\DBField;
use SilverStripe\UserForms\Model\EditableFormField\EditableLiteralField;
use SilverStripe\UserForms\Model\EditableFormField\EditableFormHeading;
-use SilverStripe\ORM\FieldType\DBField;
-use SilverStripe\Forms\GridField\GridFieldDetailForm_ItemRequest;
-
-
+use SilverStripe\View\ArrayData;
+use SilverStripe\View\SSViewer;
/**
* Controller that handles requests to EmailRecipient's
@@ -25,13 +18,12 @@ use SilverStripe\Forms\GridField\GridFieldDetailForm_ItemRequest;
*/
class UserFormRecipientItemRequest extends GridFieldDetailForm_ItemRequest
{
-
- private static $allowed_actions = array(
+ private static $allowed_actions = [
'edit',
'view',
'ItemEditForm',
'preview'
- );
+ ];
/**
* Renders a preview of the recipient email.
@@ -40,13 +32,13 @@ class UserFormRecipientItemRequest extends GridFieldDetailForm_ItemRequest
{
// Enable theme for preview (may be needed for Shortcodes)
Config::nest();
- Config::inst()->update(SSViewer::class, 'theme_enabled', true);
+ Config::modify()->set(SSViewer::class, 'theme_enabled', true);
- $content = $this->customise(new ArrayData(array(
+ $content = $this->customise(ArrayData::create([
'Body' => $this->record->getEmailBodyContent(),
'HideFormData' => $this->record->HideFormData,
'Fields' => $this->getPreviewFieldData()
- )))->renderWith($this->record->EmailTemplate);
+ ]))->renderWith($this->record->EmailTemplate);
Config::unnest();
@@ -55,24 +47,25 @@ class UserFormRecipientItemRequest extends GridFieldDetailForm_ItemRequest
/**
* Get some placeholder field values to display in the preview
+ *
* @return ArrayList
*/
- private function getPreviewFieldData()
+ protected function getPreviewFieldData()
{
- $data = new ArrayList();
+ $data = ArrayList::create();
- $fields = $this->record->Form()->Fields()->filter(array(
+ $fields = $this->record->Form()->Fields()->filter([
'ClassName:not' => EditableLiteralField::class,
'ClassName:not' => EditableFormHeading::class
- ));
+ ]);
foreach ($fields as $field) {
- $data->push(new ArrayData(array(
+ $data->push(ArrayData::create([
'Name' => $field->dbObject('Name'),
'Title' => $field->dbObject('Title'),
'Value' => DBField::create_field('Varchar', '$' . $field->Name),
'FormattedValue' => DBField::create_field('Varchar', '$' . $field->Name)
- )));
+ ]));
}
return $data;
diff --git a/code/Model/Submission/SubmittedFileField.php b/code/Model/Submission/SubmittedFileField.php
index e55a6e4..5934e30 100755
--- a/code/Model/Submission/SubmittedFileField.php
+++ b/code/Model/Submission/SubmittedFileField.php
@@ -2,12 +2,9 @@
namespace SilverStripe\UserForms\Model\Submission;
-
use SilverStripe\Assets\File;
use SilverStripe\ORM\FieldType\DBField;
-
-
/**
* A file uploaded on a {@link UserDefinedForm} and attached to a single
* {@link SubmittedForm}.
@@ -17,10 +14,11 @@ use SilverStripe\ORM\FieldType\DBField;
class SubmittedFileField extends SubmittedFormField
{
+ private static $has_one = [
+ 'UploadedFile' => File::class
+ ];
- private static $has_one = array(
- "UploadedFile" => File::class
- );
+ private static $table_name = 'SubmittedFileField';
/**
* Return the value of this field for inclusion into things such as
@@ -32,7 +30,7 @@ class SubmittedFileField extends SubmittedFormField
{
$name = $this->getFileName();
$link = $this->getLink();
- $title = _t('SubmittedFileField.DOWNLOADFILE', 'Download File');
+ $title = _t(__CLASS__.'.DOWNLOADFILE', 'Download File');
if ($link) {
return DBField::create_field('HTMLText', sprintf(
@@ -51,7 +49,7 @@ class SubmittedFileField extends SubmittedFormField
*/
public function getExportValue()
{
- return ($link = $this->getLink()) ? $link : "";
+ return ($link = $this->getLink()) ? $link : '';
}
/**
diff --git a/code/Model/Submission/SubmittedForm.php b/code/Model/Submission/SubmittedForm.php
index 6abfd9a..b1a6579 100755
--- a/code/Model/Submission/SubmittedForm.php
+++ b/code/Model/Submission/SubmittedForm.php
@@ -2,47 +2,39 @@
namespace SilverStripe\UserForms\Model\Submission;
-
-
-
-
-
-
-
-use SilverStripe\Security\Member;
-use SilverStripe\UserForms\Model\UserDefinedForm;
-use SilverStripe\UserForms\Model\Submission\SubmittedFormField;
-use SilverStripe\Forms\ReadonlyField;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig;
use SilverStripe\Forms\GridField\GridFieldDataColumns;
use SilverStripe\Forms\GridField\GridFieldExportButton;
use SilverStripe\Forms\GridField\GridFieldPrintButton;
+use SilverStripe\Forms\ReadonlyField;
use SilverStripe\ORM\DataObject;
-
+use SilverStripe\Security\Member;
+use SilverStripe\UserForms\Model\UserDefinedForm;
+use SilverStripe\UserForms\Model\Submission\SubmittedFormField;
/**
* Contents of an UserDefinedForm submission
*
* @package userforms
*/
-
class SubmittedForm extends DataObject
{
+ private static $has_one = [
+ 'SubmittedBy' => Member::class,
+ 'Parent' => UserDefinedForm::class,
+ ];
- private static $has_one = array(
- "SubmittedBy" => Member::class,
- "Parent" => UserDefinedForm::class,
- );
+ private static $has_many = [
+ 'Values' => SubmittedFormField::class
+ ];
- private static $has_many = array(
- "Values" => SubmittedFormField::class
- );
-
- private static $summary_fields = array(
+ private static $summary_fields = [
'ID',
'Created'
- );
+ ];
+
+ private static $table_name = 'SubmittedForm';
/**
* Returns the value of a relation or, in the case of this form, the value
@@ -75,14 +67,12 @@ class SubmittedForm extends DataObject
*/
public function getCMSFields()
{
- $self = $this;
-
- $this->beforeUpdateCMSFields(function ($fields) use ($self) {
+ $this->beforeUpdateCMSFields(function ($fields) {
$fields->removeByName('Values');
//check to ensure there is a Member to extract an Email from else null value
- if($self->SubmittedBy() && $self->SubmittedBy()->exists()){
- $submitter = $self->SubmittedBy()->Email;
+ if($this->SubmittedBy() && $this->SubmittedBy()->exists()){
+ $submitter = $this->SubmittedBy()->Email;
} else {
$submitter = null;
}
@@ -100,7 +90,7 @@ class SubmittedForm extends DataObject
$values = GridField::create(
'Values',
SubmittedFormField::class,
- $self->Values()->sort('Created', 'ASC')
+ $this->Values()->sort('Created', 'ASC')
);
$exportColumns = array(
diff --git a/code/Model/Submission/SubmittedFormField.php b/code/Model/Submission/SubmittedFormField.php
index 9b01134..3f71a2c 100755
--- a/code/Model/Submission/SubmittedFormField.php
+++ b/code/Model/Submission/SubmittedFormField.php
@@ -2,37 +2,35 @@
namespace SilverStripe\UserForms\Model\Submission;
-
-use SilverStripe\UserForms\Model\Submission\SubmittedForm;
use SilverStripe\ORM\DataObject;
-
+use SilverStripe\UserForms\Model\Submission\SubmittedForm;
/**
* Data received from a UserDefinedForm submission
*
* @package userforms
*/
-
class SubmittedFormField extends DataObject
{
+ private static $db = [
+ 'Name' => 'Varchar',
+ 'Value' => 'Text',
+ 'Title' => 'Varchar(255)'
+ ];
- private static $db = array(
- "Name" => "Varchar",
- "Value" => "Text",
- "Title" => "Varchar(255)"
- );
+ private static $has_one = [
+ 'Parent' => SubmittedForm::class
+ ];
- private static $has_one = array(
- "Parent" => SubmittedForm::class
- );
-
- private static $summary_fields = array(
+ private static $summary_fields = [
'Title' => 'Title',
'FormattedValue' => 'Value'
- );
+ ];
+
+ private static $table_name = 'SubmittedFormField';
/**
- * @param Member
+ * @param Member $member
*
* @return boolean
*/
@@ -42,7 +40,7 @@ class SubmittedFormField extends DataObject
}
/**
- * @param Member
+ * @param Member $member
*
* @return boolean
*/
@@ -52,7 +50,7 @@ class SubmittedFormField extends DataObject
}
/**
- * @param Member
+ * @param Member $member
*
* @return boolean
*/
@@ -62,7 +60,7 @@ class SubmittedFormField extends DataObject
}
/**
- * @param Member
+ * @param Member $member
*
* @return boolean
*/
@@ -106,8 +104,8 @@ class SubmittedFormField extends DataObject
*/
public function getEditableField()
{
- return $this->Parent()->Parent()->Fields()->filter(array(
+ return $this->Parent()->Parent()->Fields()->filter([
'Name' => $this->Name
- ))->First();
+ ])->First();
}
}
diff --git a/code/Model/UserDefinedForm.php b/code/Model/UserDefinedForm.php
index 39c1899..2e6997a 100755
--- a/code/Model/UserDefinedForm.php
+++ b/code/Model/UserDefinedForm.php
@@ -3,78 +3,48 @@
namespace SilverStripe\UserForms\Model;
use Page;
+use Colymba\BulkManager\BulkManager;
+use SilverStripe\Core\Injector\Injector;
-
-
-use HtmlEditorField;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-use GridFieldBulkManager;
-
-
-
-
-
-
-
-use SilverStripe\UserForms\Extension\UserFormFieldEditorExtension;
-use SilverStripe\UserForms\Model\Submission\SubmittedForm;
-use SilverStripe\UserForms\Model\Recipient\UserDefinedForm_EmailRecipient;
-use SilverStripe\View\Requirements;
-use SilverStripe\Forms\LabelField;
+use SilverStripe\Forms\CheckboxField;
use SilverStripe\Forms\CompositeField;
-use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor;
-use SilverStripe\Forms\GridField\GridFieldAddNewButton;
+use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\GridField\GridField;
-use SilverStripe\Forms\GridField\GridFieldDetailForm;
-use SilverStripe\UserForms\Model\Recipient\UserFormRecipientItemRequest;
-use SilverStripe\ORM\DB;
+use SilverStripe\Forms\GridField\GridFieldAddNewButton;
+use SilverStripe\Forms\GridField\GridFieldButtonRow;
use SilverStripe\Forms\GridField\GridFieldConfig;
-use SilverStripe\Forms\GridField\GridFieldToolbarHeader;
-use SilverStripe\Forms\GridField\GridFieldSortableHeader;
-use SilverStripe\UserForms\Form\UserFormsGridFieldFilterHeader;
+use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor;
use SilverStripe\Forms\GridField\GridFieldDataColumns;
-use SilverStripe\Forms\GridField\GridFieldEditButton;
use SilverStripe\Forms\GridField\GridFieldDeleteAction;
+use SilverStripe\Forms\GridField\GridFieldDetailForm;
+use SilverStripe\Forms\GridField\GridFieldEditButton;
+use SilverStripe\Forms\GridField\GridFieldExportButton;
use SilverStripe\Forms\GridField\GridFieldPageCount;
use SilverStripe\Forms\GridField\GridFieldPaginator;
-use SilverStripe\Forms\GridField\GridFieldButtonRow;
-use SilverStripe\Forms\GridField\GridFieldExportButton;
use SilverStripe\Forms\GridField\GridFieldPrintButton;
-use SilverStripe\UserForms\Model\EditableFormField\EditableFormField;
-use SilverStripe\Forms\CheckboxField;
+use SilverStripe\Forms\GridField\GridFieldSortableHeader;
+use SilverStripe\Forms\GridField\GridFieldToolbarHeader;
+use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
+use SilverStripe\Forms\LabelField;
use SilverStripe\Forms\LiteralField;
-use SilverStripe\ORM\ArrayList;
use SilverStripe\Forms\TextField;
-use SilverStripe\Forms\FieldList;
-use SilverStripe\Core\Injector\Injector;
-use SilverStripe\UserForms\Task\UserFormsUpgradeService;
+use SilverStripe\ORM\ArrayList;
+use SilverStripe\ORM\DB;
+use SilverStripe\UserForms\Extension\UserFormFieldEditorExtension;
use SilverStripe\UserForms\Extension\UserFormValidator;
-
-
+use SilverStripe\UserForms\Form\UserFormsGridFieldFilterHeader;
+use SilverStripe\UserForms\Model\EditableFormField\EditableFormField;
+use SilverStripe\UserForms\Model\Recipient\EmailRecipient;
+use SilverStripe\UserForms\Model\Recipient\UserFormRecipientItemRequest;
+use SilverStripe\UserForms\Model\Submission\SubmittedForm;
+use SilverStripe\UserForms\Task\UserFormsUpgradeService;
+use SilverStripe\View\Requirements;
/**
* @package userforms
*/
-
class UserDefinedForm extends Page
{
-
/**
* @var string
*/
@@ -117,54 +87,56 @@ class UserDefinedForm extends Page
*/
private static $block_default_userforms_js = false;
+ private static $table_name = 'UserDefinedForm';
+
/**
* Built in extensions required by this page
* @config
* @var array
*/
- private static $extensions = array(
+ private static $extensions = [
UserFormFieldEditorExtension::class
- );
+ ];
/**
* @var array Fields on the user defined form page.
*/
- private static $db = array(
- "SubmitButtonText" => "Varchar",
- "ClearButtonText" => "Varchar",
- "OnCompleteMessage" => "HTMLText",
- "ShowClearButton" => "Boolean",
+ private static $db = [
+ 'SubmitButtonText' => 'Varchar',
+ 'ClearButtonText' => 'Varchar',
+ 'OnCompleteMessage' => 'HTMLText',
+ 'ShowClearButton' => 'Boolean',
'DisableSaveSubmissions' => 'Boolean',
'EnableLiveValidation' => 'Boolean',
'DisplayErrorMessagesAtTop' => 'Boolean',
'DisableAuthenicatedFinishAction' => 'Boolean',
'DisableCsrfSecurityToken' => 'Boolean'
- );
+ ];
/**
* @var array Default values of variables when this page is created
*/
- private static $defaults = array(
+ private static $defaults = [
'Content' => '$UserDefinedForm',
'DisableSaveSubmissions' => 0,
'OnCompleteMessage' => '