mirror of
https://github.com/silverstripe/silverstripe-userforms.git
synced 2024-10-22 17:05:42 +02:00
ENH Update code to reflect changes in template layer
This commit is contained in:
parent
81cba4ed4c
commit
dc84a231b9
@ -31,8 +31,9 @@ use SilverStripe\UserForms\Model\UserDefinedForm;
|
||||
use SilverStripe\Versioned\Versioned;
|
||||
use SilverStripe\Model\ArrayData;
|
||||
use SilverStripe\View\Requirements;
|
||||
use SilverStripe\View\SSViewer;
|
||||
use SilverStripe\Model\ModelData;
|
||||
use SilverStripe\View\TemplateEngine;
|
||||
use SilverStripe\View\ViewLayerData;
|
||||
use Swift_RfcComplianceException;
|
||||
|
||||
/**
|
||||
@ -421,7 +422,8 @@ JS
|
||||
// Include any parsed merge field references from the CMS editor - this is already escaped
|
||||
// This string substitution works for both HTML and plain text emails.
|
||||
// $recipient->getEmailBodyContent() will retrieve the relevant version of the email
|
||||
$emailData['Body'] = SSViewer::execute_string($recipient->getEmailBodyContent(), $mergeFields);
|
||||
$engine = Injector::inst()->create(TemplateEngine::class);
|
||||
$emailData['Body'] = $engine->renderString($recipient->getEmailBodyContent(), ViewLayerData::create($mergeFields));
|
||||
// only include visible fields if recipient visibility flag is set
|
||||
if ((bool) $recipient->HideInvisibleFields) {
|
||||
$emailData['Fields'] = $visibleSubmittedFields;
|
||||
@ -487,10 +489,10 @@ JS
|
||||
if ($submittedFormField && trim($submittedFormField->Value ?? '')) {
|
||||
$email->setSubject($submittedFormField->Value);
|
||||
} else {
|
||||
$email->setSubject(SSViewer::execute_string($recipient->EmailSubject, $mergeFields));
|
||||
$email->setSubject($engine->renderString($recipient->EmailSubject, ViewLayerData::create($mergeFields)));
|
||||
}
|
||||
} else {
|
||||
$email->setSubject(SSViewer::execute_string($recipient->EmailSubject, $mergeFields));
|
||||
$email->setSubject($engine->renderString($recipient->EmailSubject, ViewLayerData::create($mergeFields)));
|
||||
}
|
||||
|
||||
$this->extend('updateEmail', $email, $recipient, $emailData);
|
||||
@ -660,7 +662,7 @@ EOS;
|
||||
// Hide the step jump button if the FormStep has is initially hidden.
|
||||
// This is particularly important beacause the next/prev page buttons logic is controlled by
|
||||
// the visibility of the FormStep buttons
|
||||
// The HTML for the FormStep buttons is defined in UserFormProgress.ss
|
||||
// The HTML for the FormStep buttons is defined in the UserFormProgress template
|
||||
$id = str_replace('#', '', $target ?? '');
|
||||
$result .= <<<EOS
|
||||
$('.step-button-wrapper[data-for="{$id}"]').addClass('hide');
|
||||
|
@ -12,10 +12,10 @@ class UserFormsCheckboxSetField extends CheckboxSetField
|
||||
{
|
||||
|
||||
/**
|
||||
* If your project uses a custom UserFormsCheckboxSetField.ss, ensure that it includes
|
||||
* If your project uses a custom UserFormsCheckboxSetField template, ensure that it includes
|
||||
* `$Top.getValidationAttributesHTML().RAW` so that custom validation messages work
|
||||
* For further details see
|
||||
* templates/SilverStripe/UserForms/FormField/UserFormsCheckboxSetField.ss
|
||||
* templates/SilverStripe/UserForms/FormField/UserFormsCheckboxSetField template
|
||||
*
|
||||
* Use on a template with .RAW - single and double quoted strings will be safely escaped
|
||||
*
|
||||
|
@ -12,10 +12,10 @@ class UserFormsOptionSetField extends OptionsetField
|
||||
{
|
||||
|
||||
/**
|
||||
* If your project uses a custom UserFormsCheckboxSetField.ss, ensure that it includes
|
||||
* If your project uses a custom UserFormsCheckboxSetField template, ensure that it includes
|
||||
* `$Top.getValidationAttributesHTML().RAW` so that custom validation messages work
|
||||
* For further details see
|
||||
* templates/SilverStripe/UserForms/FormField/UserFormsCheckboxSetField.ss
|
||||
* templates/SilverStripe/UserForms/FormField/UserFormsCheckboxSetField template
|
||||
*
|
||||
* Use on a template with .RAW - single and double quoted strings will be safely escaped
|
||||
*
|
||||
|
@ -137,6 +137,12 @@ class EmailRecipient extends DataObject
|
||||
*/
|
||||
private static $allow_unbound_recipient_fields = false;
|
||||
|
||||
/**
|
||||
* The regex used to find template files for rendering emails.
|
||||
* By default this finds ss template files.
|
||||
*/
|
||||
private static string $email_template_regex = '/^.*\.ss$/';
|
||||
|
||||
public function requireDefaultRecords()
|
||||
{
|
||||
parent::requireDefaultRecords();
|
||||
@ -562,7 +568,7 @@ class EmailRecipient extends DataObject
|
||||
$templates = [];
|
||||
|
||||
$finder = new FileFinder();
|
||||
$finder->setOption('name_regex', '/^.*\.ss$/');
|
||||
$finder->setOption('name_regex', static::config()->get('email_template_regex'));
|
||||
|
||||
$parent = $this->getFormParent();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user