From 5e3e5cac3fde83509f558aff5c8c4f6dcc1dcff2 Mon Sep 17 00:00:00 2001 From: UndefinedOffset Date: Wed, 7 Mar 2018 09:46:08 -0400 Subject: [PATCH] Fixed issue #120 where 'Int' as a datatype would not work --- CHANGELOG.md | 7 +++++++ src/Forms/GridFieldSortableRows.php | 4 ++-- tests/forms/GridFieldSortableRowsTest.php | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 616e876..7794a6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## [2.0.4](https://github.com/UndefinedOffset/SortableGridField/tree/2.0.4) (2018-03-07) +[Full Changelog](https://github.com/UndefinedOffset/SortableGridField/compare/2.0.3...2.0.4) + +**Closed issues:** + +- Int to DBInt [\#120](https://github.com/UndefinedOffset/SortableGridField/issues/120) + ## [2.0.3](https://github.com/UndefinedOffset/SortableGridField/tree/2.0.3) (2018-03-01) [Full Changelog](https://github.com/UndefinedOffset/SortableGridField/compare/2.0.2...2.0.3) diff --git a/src/Forms/GridFieldSortableRows.php b/src/Forms/GridFieldSortableRows.php index bd80b69..0570a3d 100644 --- a/src/Forms/GridFieldSortableRows.php +++ b/src/Forms/GridFieldSortableRows.php @@ -234,7 +234,7 @@ class GridFieldSortableRows implements GridField_HTMLProvider, GridField_ActionP $sng = singleton($gridField->getModelClass()); $fieldType = $sng->config()->db[$this->sortColumn]; - if (!$fieldType || !($fieldType == 'SilverStripe\\ORM\\FieldType\\DBInt' || is_subclass_of($fieldType, 'SilverStripe\\ORM\\FieldType\\DBInt'))) { + if (!$fieldType || !($fieldType == 'Int' || $fieldType == 'SilverStripe\\ORM\\FieldType\\DBInt' || is_subclass_of($fieldType, 'SilverStripe\\ORM\\FieldType\\DBInt'))) { if (is_array($fieldType)) { user_error('Sort column ' . $this->sortColumn . ' could not be found in ' . $gridField->getModelClass() . '\'s ancestry', E_USER_ERROR); } else { @@ -261,7 +261,7 @@ class GridFieldSortableRows implements GridField_HTMLProvider, GridField_ActionP $extraFields = $schema->manyManyExtraFieldsForComponent(get_class($owner), (!empty($this->custom_relation_name) ? $this->custom_relation_name : $gridField->getName())); - if (!$extraFields || !array_key_exists($this->sortColumn, $extraFields) || !($extraFields[$this->sortColumn] == 'SilverStripe\\ORM\\FieldType\\DBInt' || is_subclass_of('SilverStripe\\ORM\\FieldType\\DBInt', $extraFields[$this->sortColumn]))) { + if (!$extraFields || !array_key_exists($this->sortColumn, $extraFields) || !($extraFields[$this->sortColumn] == 'Int' || $extraFields[$this->sortColumn] == 'SilverStripe\\ORM\\FieldType\\DBInt' || is_subclass_of('SilverStripe\\ORM\\FieldType\\DBInt', $extraFields[$this->sortColumn]))) { user_error('Sort column ' . $this->sortColumn . ' must be an SilverStripe\\ORM\\FieldType\\DBInt, column is of type ' . $extraFields[$this->sortColumn], E_USER_ERROR); exit; } diff --git a/tests/forms/GridFieldSortableRowsTest.php b/tests/forms/GridFieldSortableRowsTest.php index b368b36..f2e5b20 100644 --- a/tests/forms/GridFieldSortableRowsTest.php +++ b/tests/forms/GridFieldSortableRowsTest.php @@ -137,7 +137,7 @@ class GridFieldAction_SortOrder_Team extends DataObject implements TestOnly private static $db = array( 'Name' => DBVarchar::class, 'City' => DBVarchar::class, - 'SortOrder' => DBInt::class + 'SortOrder' => 'Int' ); private static $default_sort = 'SortOrder';