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;
 }
コード例 #2
0
 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;
 }