public function updateDateTimeCMSFields(FieldSet $fields) { if (!$this->owner->isInDB()) { $fields->addFieldToTab('Root.Resources', new LiteralField('BookResourcesNote', '<p>You can book resources after you save for the first time.</p>')); return; } $fields->addFieldToTab('Root.Resources', $res = new ManyManyPickerField($this->owner, 'Resources', 'Booked Resources For This Event', array('ExtraFields' => 'getCmsExtraFields', 'ShowPickedInSearch' => false, 'PopupHeight' => 350))); $res->getSearchField()->setOption('FilterCallback', array($this->owner, 'filterEventResource')); }
public function testFilterCallback() { $admins = $this->objFromFixture('Group', 'admingroup'); $field = new ManyManyPickerField($admins, 'Members', 'Member', array('FilterCallback' => create_function('$i', 'return $i->FirstName != "Admin";'))); $this->assertDOSContains(array(array('FirstName' => 'All Group User')), $field->Items()); }