示例#1
0
 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);
 }