From 460d4bf681f8bc48ec4f7c52622a4b7eef21c932 Mon Sep 17 00:00:00 2001 From: Nathan Glasl Date: Mon, 16 Oct 2017 15:40:25 +1100 Subject: [PATCH] MAJOR, reversing the "from" filter logic. This is because the current implementation didn't make sense from a user's perspective. --- README.md | 2 +- code/pages/MediaHolder.php | 23 +++++++++++------------ composer.json | 2 +- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 2f36e7c..79e99d8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # [mediawesome](https://packagist.org/packages/nglasl/silverstripe-mediawesome) -_The current release is **2.0.7**_ +_The current release is **3.0.0**_ > A module for SilverStripe which will allow creation of dynamic media holders/pages with CMS customisable types and attributes (blogs, events, news, publications). diff --git a/code/pages/MediaHolder.php b/code/pages/MediaHolder.php index 8198655..f4f7081 100644 --- a/code/pages/MediaHolder.php +++ b/code/pages/MediaHolder.php @@ -227,9 +227,19 @@ public function getPaginatedChildren($limit = 5, $sort = 'Date', $order = 'DESC' } } if($valid) { + + // This is used to determine the direction to filter, so it makes sense from a user's perspective. + + if($order === 'DESC') { + $date[count($date) - 1]++; + $direction = '<'; + } + else { + $direction = '>='; + } $from = implode('-', $date); $children = $children->where(array( - 'Date >= ?' => $from + "Date {$direction} ?" => $from )); } } @@ -552,17 +562,6 @@ public function getDateFilterForm() { $request = $this->getRequest(); $form->loadDataFrom($request->getVars()); - // Validate the date request filter, as this isn't captured on page request. - - if($from = $request->getVar('from')) { - foreach(explode('-', $from) as $segment) { - if(!is_numeric($segment)) { - $date->setValue(null); - break; - } - } - } - // Remove validation if clear has been triggered. if($request->getVar('action_clearFilters')) { diff --git a/composer.json b/composer.json index 88530af..5850bfc 100644 --- a/composer.json +++ b/composer.json @@ -23,7 +23,7 @@ "extra": { "installer-name": "mediawesome", "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0.x-dev" }, "screenshots": [ "https://raw.githubusercontent.com/nglasl/silverstripe-mediawesome/master/images/mediawesome-types.png"