From e096c297b8abf5a1dd4e66be5d09b8d76fa5a698 Mon Sep 17 00:00:00 2001 From: Jeremy Bridson Date: Wed, 11 Jul 2012 09:19:50 +1200 Subject: [PATCH] BUGFIX: open ticket 7603 fixing search filtering - thought I should initialise $dataListClone --- forms/HtmlEditorField.php | 13 ++++++++----- forms/gridfield/GridFieldFilterHeader.php | 5 +++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/forms/HtmlEditorField.php b/forms/HtmlEditorField.php index 1da956135b4..da458a3a426 100644 --- a/forms/HtmlEditorField.php +++ b/forms/HtmlEditorField.php @@ -362,11 +362,14 @@ function MediaForm() { // TODO Handle through GridState within field - currently this state set too late to be useful here (during request handling) $parentID = $this->controller->getRequest()->requestVar('ParentID'); - $fileFieldConfig = GridFieldConfig::create(); - $fileFieldConfig->addComponent(new GridFieldSortableHeader()); - $fileFieldConfig->addComponent(new GridFieldFilterHeader()); - $fileFieldConfig->addComponent(new GridFieldDataColumns()); - $fileFieldConfig->addComponent(new GridFieldPaginator(5)); + $fileFieldConfig = GridFieldConfig::create()->addComponents( + new GridFieldFilterHeader(), + new GridFieldSortableHeader(), + new GridFieldDataColumns(), + new GridFieldPaginator(5), + new GridFieldDeleteAction(), + new GridFieldDetailForm() + ); $fileField = new GridField('Files', false, null, $fileFieldConfig); $fileField->setList($this->getFiles($parentID)); $fileField->setAttribute('data-selectable', true); diff --git a/forms/gridfield/GridFieldFilterHeader.php b/forms/gridfield/GridFieldFilterHeader.php index 294db9d373e..2d8db43a4b1 100644 --- a/forms/gridfield/GridFieldFilterHeader.php +++ b/forms/gridfield/GridFieldFilterHeader.php @@ -91,12 +91,13 @@ public function getManipulatedData(GridField $gridField, SS_List $dataList) { } $filterArguments = $state->Columns->toArray(); + $dataListClone = null; foreach($filterArguments as $columnName => $value ) { if($dataList->canFilterBy($columnName) && $value) { - $dataList->filter($columnName.':PartialMatch', $value); + $dataListClone = $dataList->filter($columnName.':PartialMatch', $value); } } - return $dataList; + return ($dataListClone) ? $dataListClone : $dataList; } public function getHTMLFragments($gridField) {