Skip to content

Commit

Permalink
Merge branch '5' into 6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
GuySartorelli committed Feb 27, 2025
2 parents e9d95b9 + 5f908da commit cd29f81
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
13 changes: 12 additions & 1 deletion src/Forms/GridField/GridFieldFilterHeader.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
use SilverStripe\Control\Controller;
use SilverStripe\Control\HTTPResponse;
use SilverStripe\Core\ClassInfo;
use SilverStripe\Dev\Deprecation;
use SilverStripe\Forms\CompositeField;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\Form;
Expand Down Expand Up @@ -279,9 +280,14 @@ public function setSearchContext(SearchContext $context): static
*
* @param GridField $gridfield
* @return string
* @deprecated 5.4.0 Will be replaced with SilverStripe\ORM\Search\SearchContextForm::getSchemaData()
*/
public function getSearchFieldSchema(GridField $gridField)
{
Deprecation::noticeWithNoReplacment(
'5.4.0',
'Will be replaced with SilverStripe\ORM\Search\SearchContextForm::getSchemaData()'
);
$schemaUrl = Controller::join_links($gridField->Link(), 'schema/SearchForm');
$inst = singleton($gridField->getModelClass());
$context = $this->getSearchContext($gridField);
Expand Down Expand Up @@ -385,17 +391,22 @@ public function getSearchForm(GridField $gridField)
*
* @param GridField $gridfield
* @return HTTPResponse
* @deprecated 5.4.0 Will be replaced with SilverStripe\Forms\FormRequestHandler::getSchema()
*/
public function getSearchFormSchema(GridField $gridField)
{
Deprecation::noticeWithNoReplacment(
'5.4.0',
'Will be replaced with SilverStripe\Forms\FormRequestHandler::getSchema()'
);
$form = $this->getSearchForm($gridField);

// If there are no filterable fields, return a 400 response
if (!$form) {
return new HTTPResponse(_t(__CLASS__ . '.SearchFormFaliure', 'No search form could be generated'), 400);
}

$parts = $gridField->getRequest()->getHeader(FormSchemaController::SCHEMA_HEADER);
$parts = $gridField->getRequest()->getHeader(FormSchema::SCHEMA_HEADER);
$schemaID = $gridField->getRequest()->getURL();
$data = FormSchema::singleton()
->getMultipartSchema($parts, $schemaID, $form);
Expand Down
5 changes: 5 additions & 0 deletions src/Forms/Schema/FormSchema.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ class FormSchema
*/
const PART_AUTO = 'auto';

/**
* Form schema header identifier
*/
public const SCHEMA_HEADER = 'X-Formschema-Request';

/**
* Returns a representation of the provided {@link Form} as structured data,
* based on the request data.
Expand Down

0 comments on commit cd29f81

Please sign in to comment.