array( 'name' => _t('SilverStripe\\Comments\\Admin\\CommentAdmin.ADMIN_PERMISSION', "Access to 'Comments' section"), 'category' => _t('SilverStripe\\Security\\Permission.CMS_ACCESS_CATEGORY', 'CMS Access') ) ); } /** * @return Form */ public function getEditForm($id = null, $fields = null) { if (!$id) { $id = $this->currentPageID(); } $form = parent::getEditForm($id); $record = $this->getRecord($id); if ($record && !$record->canView()) { return Security::permissionFailure($this); } $newComments = Comment::get()->filter('Moderated', 0); $newGrid = new CommentsGridField( 'NewComments', '', $newComments, CommentsGridFieldConfig::create() ); $approvedComments = Comment::get()->filter('Moderated', 1)->filter('IsSpam', 0); $approvedGrid = new CommentsGridField( 'ApprovedComments', '', $approvedComments, CommentsGridFieldConfig::create() ); $spamComments = Comment::get()->filter('Moderated', 1)->filter('IsSpam', 1); $spamGrid = new CommentsGridField( 'SpamComments', '', $spamComments, CommentsGridFieldConfig::create() ); $newCount = '(' . count($newComments) . ')'; $approvedCount = '(' . count($approvedComments) . ')'; $spamCount = '(' . count($spamComments) . ')'; $fields = new FieldList( $root = new TabSet( 'Comments', new Tab( 'NewComments', _t(__CLASS__.'.NewComments', 'New') . ' ' . $newCount, $newGrid ), new Tab( 'ApprovedComments', _t(__CLASS__.'.ApprovedComments', 'Approved') . ' ' . $approvedCount, $approvedGrid ), new Tab( 'SpamComments', _t(__CLASS__.'.SpamComments', 'Spam') . ' ' . $spamCount, $spamGrid ) ) ); $actions = new FieldList(); $form = new Form( $this, 'EditForm', $fields, $actions ); $form->addExtraClass('cms-edit-form'); $form->setTemplate($this->getTemplatesWithSuffix('_EditForm')); if ($form->Fields()->hasTabset()) { // $form->Fields()->findOrMakeTab('Root')->setTemplate('CMSTabSet'); $form->addExtraClass('center ss-tabset cms-tabset ' . $this->BaseCSSClasses()); } $this->extend('updateEditForm', $form); return $form; } }