Merge branch '4.5' into 4.6

This commit is contained in:
Maxime Rainville 2020-10-22 10:50:44 +13:00
commit f4edd35989
3 changed files with 23 additions and 2 deletions

View File

@ -5,6 +5,7 @@ namespace SilverStripe\CMS\Controllers;
use SilverStripe\Admin\LeftAndMain_SearchFilter;
use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\Core\ClassInfo;
use SilverStripe\Core\Convert;
use SilverStripe\Core\Injector\Injectable;
use SilverStripe\Forms\DateField;
use SilverStripe\ORM\DataList;
@ -202,14 +203,20 @@ abstract class CMSSiteTreeFilter implements LeftAndMain_SearchFilter
switch ($name) {
case 'Term':
$query = $query->filterAny([
'URLSegment:PartialMatch' => $val,
$query = $query->filterAny(array(
'URLSegment:PartialMatch' => Convert::raw2url($val),
'Title:PartialMatch' => $val,
'MenuTitle:PartialMatch' => $val,
'Content:PartialMatch' => $val
]);
break;
case 'URLSegment':
$query = $query->filter([
'URLSegment:PartialMatch' => Convert::raw2url($val),
]);
break;
case 'LastEditedFrom':
$fromDate = new DateField(null, null, $val);
$query = $query->filter("LastEdited:GreaterThanOrEqual", $fromDate->dataValue().' 00:00:00');

View File

@ -47,6 +47,17 @@ class CMSSiteTreeFilterTest extends SapphireTest
);
}
public function testUrlSegmentFilter()
{
$page = $this->objFromFixture(Page::class, 'page8');
$filter = CMSSiteTreeFilter_Search::create(['Term' => 'lake-wanaka+adventure']);
$this->assertTrue($filter->isPageIncluded($page));
$filter = CMSSiteTreeFilter_Search::create(['URLSegment' => 'lake-wanaka+adventure']);
$this->assertTrue($filter->isPageIncluded($page));
}
public function testIncludesParentsForNestedMatches()
{
$parent = $this->objFromFixture('Page', 'page3');

View File

@ -29,3 +29,6 @@ Page:
page3b:
Parent: =>Page.page3
Title: Page 3b
page8:
Title: EncodedUrlSegment
URLSegment: lake-wanaka+adventure