Merge branch '4.5' into 4

This commit is contained in:
Robbie Averill 2017-08-21 15:36:49 +12:00
commit d34f5a9bc2
12 changed files with 75 additions and 65 deletions

View File

@ -4,6 +4,8 @@ sudo: false
language: php language: php
dist: precise
matrix: matrix:
include: include:
- php: 5.3 - php: 5.3

View File

@ -45,10 +45,14 @@ class EditableFileField extends EditableFormField
) )
); );
$fields->addFieldToTab("Root.Main", new LiteralField("FileUploadWarning", $fields->addFieldToTab("Root.Main", new LiteralField(
"<p class=\"message notice\">" . _t("UserDefinedForm.FileUploadWarning", "FileUploadWarning",
"Files uploaded through this field could be publicly accessible if the exact URL is known") "<p class=\"message notice\">"
. "</p>"), "Type"); . _t(
"UserDefinedForm.FileUploadWarning",
"Files uploaded through this field could be publicly accessible if the exact URL is known"
) . "</p>"
), "Type");
$fields->addFieldToTab( $fields->addFieldToTab(
'Root.Main', 'Root.Main',
@ -57,6 +61,8 @@ class EditableFileField extends EditableFormField
->setDescription("Note: Maximum php allowed size is {$this->getPHPMaxFileSizeMB()} MB") ->setDescription("Note: Maximum php allowed size is {$this->getPHPMaxFileSizeMB()} MB")
); );
$fields->removeByName('Default');
return $fields; return $fields;
} }

View File

@ -261,10 +261,7 @@ class UserDefinedForm_EmailRecipient extends DataObject
->addExtraClass('toggle-html-only'), ->addExtraClass('toggle-html-only'),
TextareaField::create('EmailBody', _t('UserDefinedForm.EMAILBODY', 'Body')) TextareaField::create('EmailBody', _t('UserDefinedForm.EMAILBODY', 'Body'))
->addExtraClass('toggle-plain-only'), ->addExtraClass('toggle-plain-only'),
LiteralField::create( LiteralField::create('EmailPreview', $preview)
'EmailPreview',
'<div id="EmailPreview" class="field toggle-html-only">' . $preview . '</div>'
)
)); ));
$fields->fieldByName('Root.EmailContent')->setTitle(_t('UserDefinedForm_EmailRecipient.EMAILCONTENTTAB', 'Email Content')); $fields->fieldByName('Root.EmailContent')->setTitle(_t('UserDefinedForm_EmailRecipient.EMAILCONTENTTAB', 'Email Content'));
@ -421,7 +418,10 @@ class UserDefinedForm_EmailRecipient extends DataObject
*/ */
public function getEmailBodyContent() public function getEmailBodyContent()
{ {
return $this->SendPlain ? $this->EmailBody : $this->EmailBodyHtml; if ($this->SendPlain) {
return DBField::create_field('HTMLText', $this->EmailBody)->NoHTML();
}
return DBField::create_field('HTMLText', $this->EmailBodyHtml)->RAW();
} }
/** /**

View File

@ -55,7 +55,7 @@ class SubmittedFileField extends SubmittedFormField
{ {
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()->AbsoluteLink();
} }
} }
} }

View File

@ -81,9 +81,14 @@ class SubmittedForm extends DataObject
$self->Values()->sort('Created', 'ASC') $self->Values()->sort('Created', 'ASC')
); );
$exportColumns = array(
'Title' => 'Title',
'ExportValue' => 'Value'
);
$config = new GridFieldConfig(); $config = new GridFieldConfig();
$config->addComponent(new GridFieldDataColumns()); $config->addComponent(new GridFieldDataColumns());
$config->addComponent(new GridFieldExportButton()); $config->addComponent(new GridFieldExportButton('after', $exportColumns));
$config->addComponent(new GridFieldPrintButton()); $config->addComponent(new GridFieldPrintButton());
$values->setConfig($config); $values->setConfig($config);

View File

@ -32,7 +32,7 @@
"require": { "require": {
"silverstripe/framework": "~3.2", "silverstripe/framework": "~3.2",
"silverstripe/cms": "~3.2", "silverstripe/cms": "~3.2",
"silverstripe-australia/gridfieldextensions": "~1.1", "symbiote/silverstripe-gridfieldextensions": "~1.1",
"silverstripe/segment-field": "^1.0" "silverstripe/segment-field": "^1.0"
}, },
"suggest": { "suggest": {

View File

@ -1,14 +1,6 @@
/** /**
* Animations * Animations
*/ */
@keyframes rowSlide {
0% {
top: 20%;
}
100% {
top: 80%;
}
}
@keyframes flashBackground { @keyframes flashBackground {
0% { 0% {
background-color: white; background-color: white;
@ -42,10 +34,6 @@
.cms .uf-field-editor table.ss-gridfield-table .ss-gridfield-item .handle { .cms .uf-field-editor table.ss-gridfield-table .ss-gridfield-item .handle {
min-height: 46px; min-height: 46px;
} }
.cms .uf-field-editor table.ss-gridfield-table .ss-gridfield-item.newField {
position: fixed;
animation: rowSlide .5s ease forwards;
}
.cms .uf-field-editor table.ss-gridfield-table .ss-gridfield-item.flashBackground { .cms .uf-field-editor table.ss-gridfield-table .ss-gridfield-item.flashBackground {
animation: flashBackground 2s linear; animation: flashBackground 2s linear;
} }

View File

@ -92,19 +92,11 @@
$newField.find('.col-Title input').focus(); $newField.find('.col-Title input').focus();
} }
// animate the row positioning (add the first class) $newField.addClass('flashBackground');
if (document.createElement('div').style.animationName !== void 0) {
$newField.addClass('newField');
}
// Once the animation has completed
setTimeout(function () {
$newField.removeClass('newField').addClass('flashBackground');
$(".cms-content-fields").scrollTop($(".cms-content-fields")[0].scrollHeight); $(".cms-content-fields").scrollTop($(".cms-content-fields")[0].scrollHeight);
if($groupEnd) { if($groupEnd) {
$groupEnd.css('visibility', 'visible'); $groupEnd.css('visibility', 'visible');
} }
}, 500);
}); });
}); });
}, },

View File

@ -5,12 +5,11 @@
(function ($) { (function ($) {
$(document).ready(function () { $(document).ready(function () {
var sendPlain = $('input[name="SendPlain"]');
var recipient = { var recipient = {
// Some fields are only visible when HTML email are being sent. // Some fields are only visible when HTML email are being sent.
updateFormatSpecificFields: function () { updateFormatSpecificFields: function () {
var sendPlainChecked = $('#SendPlain') var sendPlainChecked = sendPlain.is(':checked');
.find('input[type="checkbox"]')
.is(':checked');
$(".field.toggle-html-only")[sendPlainChecked ? 'hide' : 'show'](); $(".field.toggle-html-only")[sendPlainChecked ? 'hide' : 'show']();
$(".field.toggle-plain-only")[sendPlainChecked ? 'show' : 'hide'](); $(".field.toggle-plain-only")[sendPlainChecked ? 'show' : 'hide']();
@ -27,7 +26,7 @@
} }
}); });
$('#SendPlain').entwine({ sendPlain.entwine({
onchange: function () { onchange: function () {
recipient.updateFormatSpecificFields(); recipient.updateFormatSpecificFields();
} }

View File

@ -2,11 +2,6 @@
* Animations * Animations
*/ */
@keyframes rowSlide {
0% {top: 20%;}
100% {top: 80%;}
}
@keyframes flashBackground { @keyframes flashBackground {
0% {background-color: white;} 0% {background-color: white;}
10% {background-color: #dcfedd;} 10% {background-color: #dcfedd;}
@ -44,11 +39,6 @@
min-height: 46px; min-height: 46px;
} }
&.newField {
position: fixed;
animation: rowSlide .5s ease forwards;
}
&.flashBackground { &.flashBackground {
animation: flashBackground 2s linear; animation: flashBackground 2s linear;
} }

View File

@ -0,0 +1,24 @@
<?php
class UserDefinedForm_EmailRecipientTest extends SapphireTest
{
protected static $fixture_file = 'UserDefinedForm_EmailRecipientTest.yml';
public function testShortcodesAreRenderedInEmailPreviewContent()
{
$page = $this->objFromFixture('SiteTree', 'about_us');
$recipient = UserDefinedForm_EmailRecipient::create();
$recipient->SendPlain = false;
$recipient->EmailBodyHtml = '<p>Some email content. About us: [sitetree_link,id=' . $page->ID . '].</p>';
$result = $recipient->getEmailBodyContent();
$this->assertContains('/about-us/', $result);
$recipient->SendPlain = true;
$recipient->EmailBody = 'Some email content. About us: [sitetree_link,id=' . $page->ID . '].';
$result = $recipient->getEmailBodyContent();
$this->assertContains('/about-us/', $result);
}
}

View File

@ -0,0 +1,4 @@
SiteTree:
about_us:
Title: About Us
URLSegment: about-us