From 828ad6eecae02e911dde44c62777157f0c34b84b Mon Sep 17 00:00:00 2001 From: Will Rossiter Date: Thu, 7 May 2015 08:42:22 +1200 Subject: [PATCH] FIX: Modifications to GridFieldExportButton to allow ArrayList use in SS_Report --- forms/gridfield/GridFieldExportButton.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/forms/gridfield/GridFieldExportButton.php b/forms/gridfield/GridFieldExportButton.php index 7e853a05c..7aec6ed9e 100644 --- a/forms/gridfield/GridFieldExportButton.php +++ b/forms/gridfield/GridFieldExportButton.php @@ -132,7 +132,7 @@ class GridFieldExportButton implements GridField_HTMLProvider, GridField_ActionP } foreach($items->limit(null) as $item) { - if($item->hasMethod('canView') && $item->canView()) { + if(!$item->hasMethod('canView') || $item->canView()) { $columnData = array(); foreach($csvColumns as $columnSource => $columnHeader) { @@ -146,16 +146,23 @@ class GridFieldExportButton implements GridField_HTMLProvider, GridField_ActionP $value = $columnHeader($relObj); } else { $value = $gridField->getDataFieldValue($item, $columnSource); + + if(!$value) { + $value = $gridField->getDataFieldValue($item, $columnHeader); + } } $value = str_replace(array("\r", "\n"), "\n", $value); $columnData[] = '"' . str_replace('"', '""', $value) . '"'; } + $fileData .= implode($separator, $columnData); $fileData .= "\n"; } - $item->destroy(); + if($item->hasMethod('destroy')) { + $item->destroy(); + } } return $fileData;