mirror of
https://github.com/silverstripe/silverstripe-userforms.git
synced 2024-10-01 05:39:10 +02:00
Merge pull request #43 from silverstripe-rebelalliance/open/7314
Coding conventions (#7314)
This commit is contained in:
commit
c1c689b466
@ -138,10 +138,10 @@ class FieldEditor extends FormField {
|
|||||||
if(!is_numeric($newEditableID)) continue;
|
if(!is_numeric($newEditableID)) continue;
|
||||||
|
|
||||||
// get it from the db
|
// get it from the db
|
||||||
$editable = DataObject::get_by_id('EditableFormField', $newEditableID);
|
$editable = DataObject::get_by_id('EditableFormField', $newEditableID);
|
||||||
|
|
||||||
// if it exists in the db update it
|
// if it exists in the db update it
|
||||||
if($editable) {
|
if($editable) {
|
||||||
|
|
||||||
// remove it from the removed fields list
|
// remove it from the removed fields list
|
||||||
if(isset($missingFields[$editable->ID]) && isset($newEditableData) && is_array($newEditableData)) {
|
if(isset($missingFields[$editable->ID]) && isset($newEditableData) && is_array($newEditableData)) {
|
||||||
@ -156,18 +156,18 @@ class FieldEditor extends FormField {
|
|||||||
// save data
|
// save data
|
||||||
$editable->populateFromPostData($newEditableData);
|
$editable->populateFromPostData($newEditableData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove the fields not saved
|
// remove the fields not saved
|
||||||
if($this->canEdit()) {
|
if($this->canEdit()) {
|
||||||
foreach($missingFields as $removedField) {
|
foreach($missingFields as $removedField) {
|
||||||
if(is_numeric($removedField->ID)) {
|
if(is_numeric($removedField->ID)) {
|
||||||
// check we can edit this
|
// check we can edit this
|
||||||
$removedField->delete();
|
$removedField->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -70,11 +70,11 @@ class UserDefinedForm extends Page {
|
|||||||
$fields->addFieldToTab("Root.Submissions", new CheckboxField('DisableSaveSubmissions',_t('UserDefinedForm.SAVESUBMISSIONS',"Disable Saving Submissions to Server")));
|
$fields->addFieldToTab("Root.Submissions", new CheckboxField('DisableSaveSubmissions',_t('UserDefinedForm.SAVESUBMISSIONS',"Disable Saving Submissions to Server")));
|
||||||
$fields->addFieldToTab("Root.Submissions", new SubmittedFormReportField( "Reports", _t('UserDefinedForm.RECEIVED', 'Received Submissions'), "", $this ) );
|
$fields->addFieldToTab("Root.Submissions", new SubmittedFormReportField( "Reports", _t('UserDefinedForm.RECEIVED', 'Received Submissions'), "", $this ) );
|
||||||
|
|
||||||
UserDefinedForm_EmailRecipient::$summary_fields=array(
|
UserDefinedForm_EmailRecipient::$summary_fields=array(
|
||||||
'EmailAddress' => _t('UserDefinedForm.EMAILADDRESS', 'Email'),
|
'EmailAddress' => _t('UserDefinedForm.EMAILADDRESS', 'Email'),
|
||||||
'EmailSubject' => _t('UserDefinedForm.EMAILSUBJECT', 'Subject'),
|
'EmailSubject' => _t('UserDefinedForm.EMAILSUBJECT', 'Subject'),
|
||||||
'EmailFrom' => _t('UserDefinedForm.EMAILFROM', 'From')
|
'EmailFrom' => _t('UserDefinedForm.EMAILFROM', 'From')
|
||||||
);
|
);
|
||||||
|
|
||||||
// who do we email on submission
|
// who do we email on submission
|
||||||
$emailRecipients = new GridField("EmailRecipients", "EmailRecipients", $this->EmailRecipients(), GridFieldConfig_RecordEditor::create(10));
|
$emailRecipients = new GridField("EmailRecipients", "EmailRecipients", $this->EmailRecipients(), GridFieldConfig_RecordEditor::create(10));
|
||||||
@ -85,7 +85,7 @@ class UserDefinedForm extends Page {
|
|||||||
$onCompleteFieldSet = new FieldList(
|
$onCompleteFieldSet = new FieldList(
|
||||||
$editor=new HtmlEditorField( "OnCompleteMessage", _t('UserDefinedForm.ONCOMPLETELABEL', 'Show on completion'), _t('UserDefinedForm.ONCOMPLETEMESSAGE', $this->OnCompleteMessage))
|
$editor=new HtmlEditorField( "OnCompleteMessage", _t('UserDefinedForm.ONCOMPLETELABEL', 'Show on completion'), _t('UserDefinedForm.ONCOMPLETEMESSAGE', $this->OnCompleteMessage))
|
||||||
);
|
);
|
||||||
$editor->setRows(3);
|
$editor->setRows(3);
|
||||||
|
|
||||||
$fields->addFieldsToTab("Root.OnComplete", $onCompleteFieldSet);
|
$fields->addFieldsToTab("Root.OnComplete", $onCompleteFieldSet);
|
||||||
$fields->addFieldsToTab("Root.Options", $this->getFormOptions());
|
$fields->addFieldsToTab("Root.Options", $this->getFormOptions());
|
||||||
@ -251,7 +251,7 @@ class UserDefinedForm extends Page {
|
|||||||
*
|
*
|
||||||
* @return FieldSet
|
* @return FieldSet
|
||||||
*/
|
*/
|
||||||
public function getFormOptions() {
|
public function getFormOptions() {
|
||||||
$submit = ($this->SubmitButtonText) ? $this->SubmitButtonText : _t('UserDefinedForm.SUBMITBUTTON', 'Submit');
|
$submit = ($this->SubmitButtonText) ? $this->SubmitButtonText : _t('UserDefinedForm.SUBMITBUTTON', 'Submit');
|
||||||
|
|
||||||
$options = new FieldList(
|
$options = new FieldList(
|
||||||
@ -672,7 +672,7 @@ JS
|
|||||||
if(!$this->DisableSaveSubmissions) $submittedForm->write();
|
if(!$this->DisableSaveSubmissions) $submittedForm->write();
|
||||||
|
|
||||||
$values = array();
|
$values = array();
|
||||||
$attachments = array();
|
$attachments = array();
|
||||||
|
|
||||||
$submittedFields = new ArrayList();
|
$submittedFields = new ArrayList();
|
||||||
|
|
||||||
@ -756,7 +756,7 @@ JS
|
|||||||
// check to see if they are a dynamic sender. eg based on a email field a user selected
|
// check to see if they are a dynamic sender. eg based on a email field a user selected
|
||||||
if($recipient->SendEmailFromField()) {
|
if($recipient->SendEmailFromField()) {
|
||||||
$submittedFormField = $submittedFields->find('Name', $recipient->SendEmailFromField()->Name);
|
$submittedFormField = $submittedFields->find('Name', $recipient->SendEmailFromField()->Name);
|
||||||
if($submittedFormField) {
|
if($submittedFormField && is_string($submittedFormField->Value)) {
|
||||||
$email->setFrom($submittedFormField->Value);
|
$email->setFrom($submittedFormField->Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -764,12 +764,12 @@ JS
|
|||||||
if($recipient->SendEmailToField()) {
|
if($recipient->SendEmailToField()) {
|
||||||
$submittedFormField = $submittedFields->find('Name', $recipient->SendEmailToField()->Name);
|
$submittedFormField = $submittedFields->find('Name', $recipient->SendEmailToField()->Name);
|
||||||
|
|
||||||
if($submittedFormField) {
|
if($submittedFormField && is_string($submittedFormField->Value)) {
|
||||||
$email->setTo($submittedFormField->Value);
|
$email->setTo($submittedFormField->Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->extend('updateEmail', $email, $recipient, $emailData);
|
$this->extend('updateEmail', $email, $recipient, $emailData);
|
||||||
|
|
||||||
if($recipient->SendPlain) {
|
if($recipient->SendPlain) {
|
||||||
$body = strip_tags($recipient->EmailBody) . "\n ";
|
$body = strip_tags($recipient->EmailBody) . "\n ";
|
||||||
@ -859,14 +859,15 @@ class UserDefinedForm_EmailRecipient extends DataObject {
|
|||||||
|
|
||||||
// if they have email fields then we could send from it
|
// if they have email fields then we could send from it
|
||||||
if($validEmailFields) {
|
if($validEmailFields) {
|
||||||
$fields->insertAfter(new DropdownField('SendEmailFromFieldID', _t('UserDefinedForm.ORSELECTAFIELDTOUSEASFROM', '.. or Select a Form Field to use as the From Address'), $validEmailFields->map('ID', 'Title'), '', null,""), 'EmailFrom');
|
$fields->insertAfter(new DropdownField('SendEmailFromFieldID', _t('UserDefinedForm.ORSELECTAFIELDTOUSEASFROM', '.. or Select a Form Field to use as the From Address'),
|
||||||
|
$validEmailFields->map('ID', 'Title'), '', null,""), 'EmailFrom');
|
||||||
}
|
}
|
||||||
|
|
||||||
// if they have multiple options
|
// if they have multiple options
|
||||||
if($multiOptionFields || $validEmailFields) {
|
if($multiOptionFields || $validEmailFields) {
|
||||||
|
|
||||||
if($multiOptionFields && $validEmailFields) {
|
if($multiOptionFields && $validEmailFields) {
|
||||||
$multiOptionFields=$multiOptionFields->toArray();
|
$multiOptionFields=$multiOptionFields->toArray();
|
||||||
$multiOptionFields=array_merge($multiOptionFields, $validEmailFields->toArray());
|
$multiOptionFields=array_merge($multiOptionFields, $validEmailFields->toArray());
|
||||||
$multiOptionFields=ArrayList::create($multiOptionFields);
|
$multiOptionFields=ArrayList::create($multiOptionFields);
|
||||||
}
|
}
|
||||||
@ -875,11 +876,12 @@ class UserDefinedForm_EmailRecipient extends DataObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$multiOptionFields = $multiOptionFields->map('ID', 'Title');
|
$multiOptionFields = $multiOptionFields->map('ID', 'Title');
|
||||||
$fields->insertAfter(new DropdownField('SendEmailToFieldID', _t('UserDefinedForm.ORSELECTAFIELDTOUSEASTO', '.. or Select a Field to use as the To Address'), $multiOptionFields, '', null, ""), 'EmailAddress');
|
$fields->insertAfter(new DropdownField('SendEmailToFieldID', _t('UserDefinedForm.ORSELECTAFIELDTOUSEASTO', '.. or Select a Field to use as the To Address'),
|
||||||
|
$multiOptionFields, '', null, ""), 'EmailAddress');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->extend('updateCMSFields', $fields);
|
$this->extend('updateCMSFields', $fields);
|
||||||
|
|
||||||
return $fields;
|
return $fields;
|
||||||
}
|
}
|
||||||
@ -904,7 +906,7 @@ class UserDefinedForm_SubmittedFormEmail extends Email {
|
|||||||
protected $ss_template = "SubmittedFormEmail";
|
protected $ss_template = "SubmittedFormEmail";
|
||||||
protected $data;
|
protected $data;
|
||||||
|
|
||||||
public function __construct() {
|
public function __construct($submittedFields = null) {
|
||||||
parent::__construct();
|
parent::__construct($submittedFields = null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ class EditableDateField extends EditableFormField {
|
|||||||
*/
|
*/
|
||||||
public function getFormField() {
|
public function getFormField() {
|
||||||
$defaultValue = ($this->getSetting('DefaultToToday')) ? date('Y-m-d') : $this->Default;
|
$defaultValue = ($this->getSetting('DefaultToToday')) ? date('Y-m-d') : $this->Default;
|
||||||
$field = new DateField( $this->Name, $this->Title, $defaultValue);
|
$field = new DateField( $this->Name, $this->Title, $defaultValue);
|
||||||
$field->setConfig('showcalendar', true);
|
$field->setConfig('showcalendar', true);
|
||||||
return $field;
|
return $field;
|
||||||
}
|
}
|
||||||
|
@ -14,10 +14,12 @@ class EditableLiteralField extends EditableFormField {
|
|||||||
static $plural_name = 'HTML Blocks';
|
static $plural_name = 'HTML Blocks';
|
||||||
|
|
||||||
public function getFieldConfiguration() {
|
public function getFieldConfiguration() {
|
||||||
|
$customSettings = unserialize($this->CustomSettings);
|
||||||
|
$content = (isset($customSettings['Content'])) ? $customSettings['Content'] : '';
|
||||||
$textAreaField = new TextareaField(
|
$textAreaField = new TextareaField(
|
||||||
$this->getSettingName('Content'),
|
$this->getSettingName('Content'),
|
||||||
"HTML"
|
"HTML",
|
||||||
|
$content
|
||||||
);
|
);
|
||||||
$textAreaField->setRows(4);
|
$textAreaField->setRows(4);
|
||||||
$textAreaField->setColumns(20);
|
$textAreaField->setColumns(20);
|
||||||
|
@ -69,7 +69,7 @@ class EditableMultipleOptionField extends EditableFormField {
|
|||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function delete() {
|
public function delete() {
|
||||||
$options = $this->Options();
|
$options = $this->Options();
|
||||||
|
|
||||||
if($options) {
|
if($options) {
|
||||||
foreach($options as $option) {
|
foreach($options as $option) {
|
||||||
|
@ -13,7 +13,7 @@ class EditableRadioField extends EditableMultipleOptionField {
|
|||||||
|
|
||||||
static $plural_name = 'Radio fields';
|
static $plural_name = 'Radio fields';
|
||||||
|
|
||||||
public function getFormField() {
|
public function getFormField() {
|
||||||
$optionSet = $this->Options();
|
$optionSet = $this->Options();
|
||||||
$options = array();
|
$options = array();
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ class EditableTextField extends EditableFormField {
|
|||||||
*/
|
*/
|
||||||
public function getFormField() {
|
public function getFormField() {
|
||||||
if($this->getSetting('Rows') && $this->getSetting('Rows') > 1) {
|
if($this->getSetting('Rows') && $this->getSetting('Rows') > 1) {
|
||||||
$taf = new TextareaField($this->Name, $this->Title);
|
$taf = new TextareaField($this->Name, $this->Title);
|
||||||
$taf->setRows($this->getSetting('Rows'));
|
$taf->setRows($this->getSetting('Rows'));
|
||||||
return $taf;
|
return $taf;
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ class SubmittedFileField extends SubmittedFormField {
|
|||||||
*/
|
*/
|
||||||
public function getLink() {
|
public function getLink() {
|
||||||
if($file = $this->UploadedFile()) {
|
if($file = $this->UploadedFile()) {
|
||||||
if(trim($file->getFilename(), '/') != trim(ASSETS_DIR,'/')) {
|
if(trim($file->getFilename(), '/') != trim(ASSETS_DIR,'/')) {
|
||||||
return $this->UploadedFile()->URL;
|
return $this->UploadedFile()->URL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -129,6 +129,6 @@
|
|||||||
<% end_if %>
|
<% end_if %>
|
||||||
|
|
||||||
<!-- Hidden option Fields -->
|
<!-- Hidden option Fields -->
|
||||||
<input type="hidden" class="typeHidden" name="{$FieldName}[Type]" value="$ClassName" />
|
<input type="hidden" class="typeHidden" name="{$FieldName}[Type]" value="$ClassName" />
|
||||||
<input type="hidden" class="sortHidden" name="{$FieldName}[Sort]" value="$Sort" />
|
<input type="hidden" class="sortHidden" name="{$FieldName}[Sort]" value="$Sort" />
|
||||||
</li>
|
</li>
|
@ -25,19 +25,19 @@
|
|||||||
<div class="userforms-submissions-pagination">
|
<div class="userforms-submissions-pagination">
|
||||||
<span><% _t('PAGES', 'Pages') %>:</span>
|
<span><% _t('PAGES', 'Pages') %>:</span>
|
||||||
|
|
||||||
<% loop Submissions.Pages() %>
|
<% loop Submissions.Pages() %>
|
||||||
<% if CurrentBool %>
|
<% if CurrentBool %>
|
||||||
$PageNum
|
$PageNum
|
||||||
<% else %>
|
<% else %>
|
||||||
<% if Link %>
|
<% if Link %>
|
||||||
<a href="{$Top.Link(getMoreSubmissions)}?page=$PageNum">$PageNum</a>
|
<a href="{$Top.Link(getMoreSubmissions)}?page=$PageNum">$PageNum</a>
|
||||||
<% else %>
|
<% else %>
|
||||||
...
|
...
|
||||||
<% end_if %>
|
<% end_if %>
|
||||||
<% end_if %>
|
<% end_if %>
|
||||||
<% end_loop %>
|
<% end_loop %>
|
||||||
</div>
|
</div>
|
||||||
<% end_if %>
|
<% end_if %>
|
||||||
|
|
||||||
<% else %>
|
<% else %>
|
||||||
<p class="userforms-nosubmissions" <% if Submissions %>style="display: none"<% end_if %>><% _t('NOSUBMISSIONS', 'No Submissions') %></p>
|
<p class="userforms-nosubmissions" <% if Submissions %>style="display: none"<% end_if %>><% _t('NOSUBMISSIONS', 'No Submissions') %></p>
|
||||||
|
@ -153,7 +153,7 @@ class EditableFormFieldTest extends FunctionalTest {
|
|||||||
$rules = $field->CustomRules();
|
$rules = $field->CustomRules();
|
||||||
|
|
||||||
// form has 2 fields - a checkbox and a text field
|
// form has 2 fields - a checkbox and a text field
|
||||||
// it has 1 rule - when ticked the checkbox hides the text field
|
// it has 1 rule - when ticked the checkbox hides the text field
|
||||||
$this->assertEquals($rules->Count(), 1);
|
$this->assertEquals($rules->Count(), 1);
|
||||||
|
|
||||||
// rules are ArrayDatas not dataobjects
|
// rules are ArrayDatas not dataobjects
|
||||||
|
@ -78,7 +78,7 @@ class UserDefinedFormControllerTest extends FunctionalTest {
|
|||||||
$requiredForm = $this->objFromFixture('UserDefinedForm', 'validation-form');
|
$requiredForm = $this->objFromFixture('UserDefinedForm', 'validation-form');
|
||||||
$controller = new UserDefinedFormControllerTest_Controller($requiredForm);
|
$controller = new UserDefinedFormControllerTest_Controller($requiredForm);
|
||||||
|
|
||||||
$this->assertEquals($controller->Form()->Fields()->Count(), 1); // disabled SecurityID token fields
|
$this->assertEquals($controller->Form()->Fields()->Count(), 1); // disabled SecurityID token fields
|
||||||
$this->assertEquals($controller->Form()->Actions()->Count(), 1);
|
$this->assertEquals($controller->Form()->Actions()->Count(), 1);
|
||||||
$this->assertEquals(count($controller->Form()->getValidator()->getRequired()), 1);
|
$this->assertEquals(count($controller->Form()->getValidator()->getRequired()), 1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user