<?php namespace SilverStripe\Forms\Tests\GridField\GridFieldDetailFormTest; use SilverStripe\Control\Controller; use SilverStripe\Dev\TestOnly; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\Form; use SilverStripe\Forms\GridField\GridField; use SilverStripe\Forms\GridField\GridFieldAddNewButton; use SilverStripe\Forms\GridField\GridFieldDetailForm; use SilverStripe\Forms\GridField\GridFieldEditButton; use SilverStripe\Forms\GridField\GridFieldToolbarHeader; use SilverStripe\Forms\GridField\GridFieldViewButton; /** * @skipUpgrade */ class TestController extends Controller implements TestOnly { public function __construct() { parent::__construct(); if (Controller::has_curr()) { $this->setRequest(Controller::curr()->getRequest()); } } public function Link($action = null) { return Controller::join_links('GridFieldDetailFormTest_Controller', $action, '/'); } private static $allowed_actions = array('Form'); protected $template = 'BlankPage'; public function Form() { $group = PeopleGroup::get() ->filter('Name', 'My Group') ->sort('Name') ->First(); $field = new GridField('testfield', 'testfield', $group->People()); $field->getConfig()->addComponent(new GridFieldToolbarHeader()); $field->getConfig()->addComponent(new GridFieldAddNewButton('toolbar-header-right')); $field->getConfig()->addComponent(new GridFieldViewButton()); $field->getConfig()->addComponent(new GridFieldEditButton()); /** @skipUpgrade */ $field->getConfig()->addComponent($gridFieldForm = new GridFieldDetailForm($this, 'Form')); $field->getConfig()->addComponent(new GridFieldEditButton()); /** @skipUpgrade */ return new Form($this, 'Form', new FieldList($field), new FieldList()); } }