public function getCMSFields() { $fields = new FieldList($rootTab = new TabSet("Root", $tabMain = new Tab('Main'))); $fields->addFieldsToTab('Root.Main', new HiddenField('EventID', 'EventID')); $config = new GridFieldConfig_RecordViewer(50); $config->removeComponentsByType('GridFieldAddNewButton'); $config->addComponent(new GridFieldAjaxRefresh(1000, false)); $answers = new GridField('Answers', 'Answers', $this->Answers(), $config); $fields->addFieldToTab('Root.Main', $answers); return $fields; }
public function updateCMSFields(FieldList $fields) { if (!$this->owner->ID) { return; } $accessibleSubsites = Subsite::accessible_sites("CMS_ACCESS_CMSMain"); $accessibleSubsitesMap = array(); if ($accessibleSubsites && $accessibleSubsites->Count()) { $accessibleSubsitesMap = $accessibleSubsites->map('ID', 'Title'); unset($accessibleSubsitesMap[$this->owner->SubsiteID]); } $fields->removeByName('SubsiteList'); if (Subsite::currentSubsiteID()) { $fields->removeByName('Subsites'); } else { $currentSubsites = $this->owner->Subsites(); $fields->removeByName('Subsites'); $conf = new GridFieldConfig_RecordViewer(); if (!Permission::check('ADMIN')) { $conf->removeComponentsByType('GridFieldAddNewButton'); } $grid = new GridField('Subsites', 'Subsites', $currentSubsites, $conf); $fields->addFieldToTab('Root.Subsites', $grid); $fields->addFieldToTab('Root.Subsites', new ReadonlyField('SubsiteList')); } // Profile integration SubsiteProfile::applyToFields($this->owner, $fields); }