/** * Update SiteConfig with the top level fields * * @param FieldSet $fields * @return void */ function updateCMSFields(&$fields) { $fields->addFieldsToTab("Root.Access", array(new HeaderField(_t('SiteConfigCMSWorkflow.PUBLISHAPPROVEDHEADER', "Who can publish requests inside the CMS?"), 2), $actionTypeField = new OptionsetField("CanPublishType", "", array("LoggedInUsers" => _t('SiteTree.EDITANYONE', "Anyone who can log-in to the CMS"), "OnlyTheseUsers" => _t('SiteTree.EDITONLYTHESE', "Only these people (choose from list)")), "OnlyTheseUsers"), $actionerGroupsField = new TreeMultiselectField("PublisherGroups", "Publisher groups"))); if (!Permission::check('ADMIN')) { $fields->replaceField('CanPublishType', $actionTypeField->performReadonlyTransformation()); $fields->replaceField('PublisherGroups', $actionerGroupsField->performReadonlyTransformation()); } }
/** * Implement permissions for TwoStep * * @return void */ public function updateCMSFields(&$fields) { $fields->addFieldsToTab("Root.Access", array(new HeaderField(_t('SiteTreeCMSWorkflow.PUBLISHHEADER', "Who can publish this inside the CMS?"), 2), $publishTypeField = new OptionsetField("CanPublishType", "", array("Inherit" => _t('SiteTree.EDITINHERIT', "Inherit from parent page"), "LoggedInUsers" => _t('SiteTree.EDITANYONE', "Anyone who can log-in to the CMS"), "OnlyTheseUsers" => _t('SiteTree.EDITONLYTHESE', "Only these people (choose from list)")), "Inherit"), $publisherGroupsField = new TreeMultiselectField("PublisherGroups", $this->owner->fieldLabel('PublisherGroups')))); if (!$this->owner->canPublish() || !Permission::check('SITETREE_GRANT_ACCESS')) { $fields->replaceField('CanPublishType', $publishTypeField->performReadonlyTransformation()); $fields->replaceField('PublisherGroups', $publisherGroupsField->performReadonlyTransformation()); } }