public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName('Features'); $fields->removeByName('ExtraContent'); $regContent = $fields->dataFieldByName('RegistrationContent'); $afterContent = $fields->dataFieldByName('AfterRegistrationContent'); $profileContent = $fields->dataFieldByName('ProfileContent'); $regContent->addExtraClass('no-pagebreak'); $afterContent->addExtraClass('no-pagebreak'); $profileContent->addExtraClass('no-pagebreak'); $fields->insertAfter(TextareaField::create('ApprovalEmailTemplate', 'Approval Email Template'), 'EmailTemplate'); $fields->insertAfter(TextField::create('ApprovalEmailSubject', 'Approval Email Subject'), 'EmailTemplate'); $fields->insertAfter(TextareaField::create('ExpiryReminderEmailTemplate', 'Expiry Reminder Email Template'), 'ApprovalEmailTemplate'); $fields->insertAfter(TextField::create('ExpiryReminderEmailSubject', 'Expiry Reminder Email Subject'), 'ApprovalEmailTemplate'); $fields->insertAfter(TextareaField::create('ExpiryEmailTemplate', 'Expiry Email Template'), 'ExpiryReminderEmailTemplate'); $fields->insertAfter(TextField::create('ExpiryEmailSubject', 'Expiry Email Subject'), 'ExpiryReminderEmailTemplate'); $fields->addFieldToTab('Root.Members', LiteralField::create('MembersNote', '<p class="message"><strong>Note:</strong> This list has been filtered to include current and pending members only. Use the Members admin area for handling expired memberships and non-member website users.</p>')); $members = Member::get()->exclude(array('MembershipStatus' => 'Not applied'))->exclude(array('MembershipStatus' => 'Expired'))->sort(array('ExpiryDate' => 'ASC')); $gridField = new GridField('Members', 'NZLARP Members', $members, $config = GridFieldConfig_RecordEditor::create()); $gridField->setModelClass('Member'); $columns = $config->getComponentByType('GridFieldDataColumns'); $columns->setFieldFormatting(array('LastEdited' => function ($value, $item) { return $item->LastEditedNice(); })); $columns->setDisplayFields(array('getName' => 'Name', 'Region.Title' => 'Region', 'MembershipStatus' => 'Status', 'ExpiryDate' => 'Expires', 'LastEdited' => 'Last Activity')); $fields->addFieldToTab('Root.Members', $gridField); $config->getComponentByType('GridFieldPaginator')->setItemsPerPage(200); return $fields; }