Ejemplo n.º 1
0
    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'));
 }