public function getDashletFields() { $fields = parent::getDashletFields(); $fields->push(MultiSelect2Field::create('Calendars', 'Calendars')->setSource(Calendar::get()->map()->toArray())->setMultiple(true)); $fields->push(CheckboxField::create('OnlyUpcoming')); return $fields; }
public function PostForm() { $fields = FieldList::create(); if ($this->Options()->UserTitle) { $fields->push($title = TextField::create('Title', _t('MicroBlog.TITLE', 'Title'))); $title->setAttribute('placeholder', _t('MicroBlog.TITLE_PLACEHOLDER', 'Title (optional)')); } $fields->push($taf = new TextareaField('Content', _t('MicroBlog.POST', 'Post'))); $taf->setAttribute('placeholder', _t('MicroBlog.CONTENT_PLACEHOLDER', 'Add content here, eg text or a link')); $taf->setRows(3); $taf->addExtraClass('expandable'); $taf->addExtraClass('postContent'); $taf->addExtraClass('preview'); $public = CheckboxField::create('PublicUsers', 'Public users', Config::inst()->get('TimelineController', 'default_public')); $loggedIn = CheckboxField::create('LoggedInUsers', "Logged in users", Config::inst()->get('TimelineController', 'default_logged_in')); $groups = Group::get()->filter("ParentID", 0); $specificGroups = null; if (class_exists('Multisites')) { $specificGroups = Multisites::inst()->getCurrentSite()->TargetedGroups(); } else { $specificGroups = SiteConfig::current_site_config()->TargetedGroups(); } if (count($specificGroups)) { $groups = $specificGroups; } $members = Member::get(); if ($members->count() > $this->ajaxMemberLimit) { $member = AjaxSelect2Field::create('Members', "To")->setConfig('classToSearch', 'Member')->setConfig('multiple', true)->setConfig('searchFields', array('FirstName', 'Surname', 'Email'))->setConfig('resultsLimit', $this->ajaxMemberLimit); } else { $member = MultiSelect2Field::create('Members', "To", $members->map()->toArray())->setMultiple(true); } $group = MultiSelect2Field::create("Groups", "To Groups", $groups->map()->toArray())->setMultiple(true); $fields->push($public); $fields->push($loggedIn); $fields->push($member); $fields->push($group); $target = $this->getTargetFilter(); if ($target) { $fields->push(HiddenField::create('PostTarget', '', $target)); } $actions = new FieldList(new FormAction('savepost', _t('MicroBlog.SAVE', 'Add'))); $form = new Form($this, 'PostForm', $fields, $actions); $this->extend('updatePostForm', $form); return $form; }