diff --git a/forms/gridfield/GridFieldExportButton.php b/forms/gridfield/GridFieldExportButton.php index a79dca6c6..307399e20 100644 --- a/forms/gridfield/GridFieldExportButton.php +++ b/forms/gridfield/GridFieldExportButton.php @@ -146,7 +146,7 @@ class GridFieldExportButton implements GridField_HTMLProvider, GridField_ActionP } else { $value = $gridField->getDataFieldValue($item, $columnSource); - if(!$value) { + if($value === null) { $value = $gridField->getDataFieldValue($item, $columnHeader); } } diff --git a/tests/forms/gridfield/GridFieldExportButtonTest.php b/tests/forms/gridfield/GridFieldExportButtonTest.php index 0de0a41ce..f9a0b54eb 100644 --- a/tests/forms/gridfield/GridFieldExportButtonTest.php +++ b/tests/forms/gridfield/GridFieldExportButtonTest.php @@ -115,6 +115,18 @@ class GridFieldExportButtonTest extends SapphireTest { $button->generateExportFileData($this->gridField) ); } + + public function testZeroValue() { + $button = new GridFieldExportButton(); + $button->setExportColumns(array( + 'RugbyTeamNumber' => 'Rugby Team Number' + )); + + $this->assertEquals( + "\"Rugby Team Number\"\n\"2\"\n\"0\"\n", + $button->generateExportFileData($this->gridField) + ); + } } /** @@ -125,7 +137,8 @@ class GridFieldExportButtonTest_Team extends DataObject implements TestOnly { private static $db = array( 'Name' => 'Varchar', - 'City' => 'Varchar' + 'City' => 'Varchar', + 'RugbyTeamNumber' => 'Int' ); public function canView($member = null) { @@ -142,7 +155,8 @@ class GridFieldExportButtonTest_NoView extends DataObject implements TestOnly { private static $db = array( 'Name' => 'Varchar', - 'City' => 'Varchar' + 'City' => 'Varchar', + 'RugbyTeamNumber' => 'Int' ); public function canView($member = null) { diff --git a/tests/forms/gridfield/GridFieldExportButtonTest.yml b/tests/forms/gridfield/GridFieldExportButtonTest.yml index a001b4b96..7de5bd5e5 100644 --- a/tests/forms/gridfield/GridFieldExportButtonTest.yml +++ b/tests/forms/gridfield/GridFieldExportButtonTest.yml @@ -2,9 +2,11 @@ GridFieldExportButtonTest_Team: test-team-1: Name: Test City: City + RugbyTeamNumber: 2 test-team-2: Name: Test2 City: City2 + RugbyTeamNumber: 0 GridFieldExportButtonTest_NoView: item1: