Source of file UserFormRecipientItemRequest.php
Size: 1,699 Bytes - Last Modified: 2018-07-16T11:15:18+00:00
/var/www/docs.ssmods.com/process/src/code/model/recipients/UserFormRecipientItemRequest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | <?php /** * Controller that handles requests to EmailRecipient's * * @package userforms */ class UserFormRecipientItemRequest extends GridFieldDetailForm_ItemRequest { private static $allowed_actions = array( 'edit', 'view', 'ItemEditForm', 'preview' ); /** * Renders a preview of the recipient email. */ public function preview() { // Enable theme for preview (may be needed for Shortcodes) Config::nest(); Config::inst()->update('SSViewer', 'theme_enabled', true); $content = $this->customise(new ArrayData(array( 'Body' => $this->record->getEmailBodyContent(), 'HideFormData' => $this->record->HideFormData, 'Fields' => $this->getPreviewFieldData() )))->renderWith($this->record->EmailTemplate); Config::unnest(); return $content; } /** * Get some placeholder field values to display in the preview * @return ArrayList */ private function getPreviewFieldData() { $data = new ArrayList(); $fields = $this->record->Form()->Fields()->filter(array( 'ClassName:not' => 'EditableLiteralField', 'ClassName:not' => 'EditableFormHeading' )); foreach ($fields as $field) { $data->push(new ArrayData(array( 'Name' => $field->dbObject('Name'), 'Title' => $field->dbObject('Title'), 'Value' => DBField::create_field('Varchar', '$' . $field->Name), 'FormattedValue' => DBField::create_field('Varchar', '$' . $field->Name) ))); } return $data; } } |