public function getCMSFields() { $summit_id = isset($_REQUEST['SummitID']) ? $_REQUEST['SummitID'] : Summit::ActiveSummitID(); Requirements::javascript('summit/javascript/SummitPushNotification.js'); $f = new FieldList($rootTab = new TabSet("Root", $tabMain = new Tab('Main'))); $f->addFieldToTab('Root.Main', $txt = new TextareaField('Message', 'Message')); $txt->setAttribute('required', 'true'); $f->addFieldToTab('Root.Main', $ddl_channel = new DropdownField('Channel', 'Channel', singleton('SummitPushNotification')->dbObject('Channel')->enumValues())); $f->addFieldToTab('Root.Main', $ddl_events = new DropdownField('EventID', 'Event', SummitEvent::get()->filter(['Published' => 1, 'SummitID' => $summit_id])->sort('Title', 'ASC')->Map('ID', 'FormattedTitle'))); $f->addFieldToTab('Root.Main', $ddl_groups = new DropdownField('GroupID', 'Group', Group::get()->sort('Title', 'ASC')->Map('ID', 'Title'))); $f->addFieldToTab('Root.Main', new HiddenField('SummitID', 'SummitID')); $ddl_channel->setEmptyString('--SELECT A CHANNEL--'); $ddl_channel->setAttribute('required', 'true'); $ddl_events->setEmptyString('--SELECT AN EVENT--'); $ddl_events->addExtraClass('hidden'); $ddl_groups->setEmptyString('--SELECT A GROUP--'); $ddl_groups->addExtraClass('hidden'); $config = GridFieldConfig_RelationEditor::create(50); $config->removeComponentsByType('GridFieldAddExistingAutocompleter'); $config->removeComponentsByType('GridFieldAddNewButton'); $config->addComponent($auto_completer = new CustomGridFieldAddExistingAutocompleter('buttons-before-right')); $auto_completer->setResultsFormat('$Title ($Email)'); $recipients = new GridField('Recipients', 'Member Recipients', $this->Recipients(), $config); $f->addFieldToTab('Root.Main', $recipients); return $f; }
public function getCMSFields() { $f = new FieldList($rootTab = new TabSet("Root", $tabMain = new Tab('Main'))); $f->addFieldToTab('Root.Main', new TextareaField('Message', 'Message')); $f->addFieldToTab('Root.Main', new DropdownField('Channel', 'Channel', singleton('SummitPushNotification')->dbObject('Channel')->enumValues())); $f->addFieldToTab('Root.Main', new HiddenField('SummitID', 'SummitID')); $config = GridFieldConfig_RelationEditor::create(50); $config->removeComponentsByType('GridFieldAddExistingAutocompleter'); $config->removeComponentsByType('GridFieldAddNewButton'); $config->addComponent($auto_completer = new CustomGridFieldAddExistingAutocompleter('buttons-before-right')); $auto_completer->setResultsFormat('$Title ($Email)'); $recipients = new GridField('Recipients', 'Member Recipients', $this->Recipients(), $config); $f->addFieldToTab('Root.Main', $recipients); return $f; }