<?php namespace SilverStripe\ORM\Versioning; use SilverStripe\Control\RequestHandler; use SilverStripe\Core\Extension; use SilverStripe\Forms\GridField\GridField; use SilverStripe\ORM\DataObject; /** * Extends {@see GridFieldDetailForm} */ class VersionedGridFieldDetailForm extends Extension { /** * @param string $class * @param GridField $gridField * @param DataObject $record * @param RequestHandler $requestHandler */ public function updateItemRequestClass(&$class, $gridField, $record, $requestHandler) { // Conditionally use a versioned item handler if($record && $record->has_extension('SilverStripe\ORM\Versioning\Versioned')) { $class = 'SilverStripe\ORM\Versioning\VersionedGridFieldItemRequest'; } } }