Merge branch '4'

This commit is contained in:
Robbie Averill 2017-08-22 10:44:04 +12:00
commit c8698d99bd
3 changed files with 46 additions and 29 deletions

View File

@ -2,35 +2,32 @@
* Email recipient behaviour.
*/
(function ($) {
$(document).ready(function () {
(function($) {
$.entwine('ss', function($) {
var recipient = {
// Some fields are only visible when HTML email are being sent.
updateFormatSpecificFields: function () {
var sendPlainChecked = $('input[name="SendPlain"]').is(':checked');
var sendPlain = $('input[name="SendPlain"]');
var recipient = {
// Some fields are only visible when HTML email are being sent.
updateFormatSpecificFields: function () {
var sendPlainChecked = sendPlain.is(':checked');
$('.field.toggle-html-only')[sendPlainChecked ? 'hide' : 'show']();
$('.field.toggle-plain-only')[sendPlainChecked ? 'show' : 'hide']();
}
};
$(".field.toggle-html-only")[sendPlainChecked ? 'hide' : 'show']();
$(".field.toggle-plain-only")[sendPlainChecked ? 'show' : 'hide']();
}
};
$('#Form_ItemEditForm .EmailRecipientForm').entwine({
onmatch: function () {
recipient.updateFormatSpecificFields();
},
$.entwine('udf.recipient', function ($) {
$('#Form_ItemEditForm').entwine({
onmatch: function () {
recipient.updateFormatSpecificFields();
},
onunmatch: function () {
this._super();
}
});
onunmatch: function () {
this._super();
}
});
sendPlain.entwine({
onchange: function () {
recipient.updateFormatSpecificFields();
}
});
});
});
$('#Form_ItemEditForm .EmailRecipientForm input[name="SendPlain"]').entwine({
onchange: function () {
recipient.updateFormatSpecificFields();
}
});
});
}(jQuery));

View File

@ -61,7 +61,10 @@ class EditableTextField extends EditableFormField
public function getCMSFields()
{
$this->beforeUpdateCMSFields(function ($fields) {
// PHP 5.3 compat
$self = $this;
$this->beforeUpdateCMSFields(function ($fields) use ($self) {
$fields->addFieldToTab(
'Root.Main',
NumericField::create(
@ -78,7 +81,7 @@ class EditableTextField extends EditableFormField
DropdownField::create(
'Autocomplete',
_t('EditableTextField.AUTOCOMPLETE', 'Autocomplete'),
$this->config()->get('autocomplete_options')
$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'

View File

@ -0,0 +1,17 @@
<?php
class EditableTextFieldTest extends SapphireTest
{
public function testGetCmsFields()
{
Config::inst()->remove('EditableTextField', 'autocomplete_options');
Config::inst()->update('EditableTextField', 'autocomplete_options', array('foo' => 'foo'));
$field = new EditableTextField;
$result = $field->getCMSFields();
$autocompleteField = $result->fieldByName('Root.Main.Autocomplete');
$this->assertInstanceOf('DropdownField', $autocompleteField);
$this->assertEquals(array('foo' => 'foo'), $autocompleteField->getSource());
}
}