public function MessageForm($request = null, $itemID = 0) { if ($itemID == 0) { $itemID = isset($_REQUEST['ToMemberID']) ? $_REQUEST['ToMemberID'] : 0; } $mergeText = "<ul><li>{" . implode("}</li><li>{", PostmarkHelper::MergeTags()) . "}</li></ul>"; $form = new Form($this, 'MessageForm', new FieldList(array(ObjectSelectorField::create('ToMemberID', 'To:')->setValue($itemID)->setSourceObject(Config::inst()->get('PostmarkAdmin', 'member_class'))->setDisplayField('Email'), DropdownField::create('FromID', 'From')->setSource(PostmarkSignature::get()->filter('IsActive', 1)->map('ID', 'Email')->toArray()), TextField::create('Subject'), QuillEditorField::create('Body'), LiteralField::create('MergeTypes', '<div class="varialbes toggle-block"> <h4>Merge Values</h4> <div class="contents">' . $mergeText . '</div> </div>'), HiddenField::create('InReplyToID')->setValue(isset($_REQUEST['ReplyToMessageID']) ? $_REQUEST['ReplyToMessageID'] : 0), FileField::create('Attachment_1', 'Attachment One'), FileField::create('Attachment_2', 'Attachment Two'), FileField::create('Attachment_3', 'Attachment Three'), FileField::create('Attachment_4', 'Attachment Four'), FileField::create('Attachment_5', 'Attachment Five'))), new FieldList(FormAction::create('postmessage', 'Sent Message'))); $requiredField = new RequiredFields(array('FromID', 'Subject', 'Body')); $form->setValidator($requiredField); $this->extend('updateMessageForm', $form, $itemID); $form->setFormAction($this->Link('PostmarkMessage/MessageForm')); return $form; }
public function getHTMLFragments($gridField) { $singleton = singleton($gridField->getModelClass()); if (!$singleton->canCreate()) { return array(); } Requirements::javascript(POSTMARK_RELATIVE_PATH . '/javascript/GridFieldManageBulkRelationships.js'); Requirements::css(POSTMARK_RELATIVE_PATH . '/css/GridFieldManageBulkRelationships.css'); if (!$this->buttonName) { $this->buttonName = _t('CRMAdmin.Add', 'Add'); } $sourceObject = $this->getSourceObject(); $data = new ArrayData(array('AddLink' => $gridField->Link('addtorelationship-' . $this->relationship), 'RemoveLink' => $gridField->Link('removefromrelationship-' . $this->relationship), 'ButtonName' => $this->buttonName, 'ObjectSelectorField' => ObjectSelectorField::create('relation_selector', null)->setCustomLink(true)->setSourceObject($sourceObject)->Field(), 'FromClass' => $this->fromClass, 'Relationship' => $this->relationship, 'Title' => $this->title)); return array($this->targetFragment => $data->renderWith('GridFieldManageBulkRelationships')); }