From 7850499687662442359bb84a73139575f277541c Mon Sep 17 00:00:00 2001 From: Robert Curry Date: Thu, 19 Apr 2012 11:53:46 +1200 Subject: [PATCH] ENHANCEMENT: Part of fix to #7010. Change to some gridfield calls to setDisplayFields and friends. --- code/controllers/AssetAdmin.php | 5 +++-- code/controllers/CMSMain.php | 9 +++++---- code/controllers/ReportAdmin.php | 12 +++++++----- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/code/controllers/AssetAdmin.php b/code/controllers/AssetAdmin.php index 3d35a0f9..02a2a2e2 100644 --- a/code/controllers/AssetAdmin.php +++ b/code/controllers/AssetAdmin.php @@ -139,14 +139,15 @@ JS new GridFieldDetailForm() ); $gridField = new GridField('File','Files', $this->getList(), $gridFieldConfig); - $gridField->setDisplayFields(array( + $columns = $gridField->getConfig()->getComponentByType('GridFieldDataColumns'); + $columns->setDisplayFields(array( 'StripThumbnail' => '', // 'Parent.FileName' => 'Folder', 'Title' => _t('File.Name'), 'Created' => _t('AssetAdmin.CREATED', 'Date'), 'Size' => _t('AssetAdmin.SIZE', 'Size'), )); - $gridField->setFieldCasting(array( + $columns->setFieldCasting(array( 'Created' => 'Date->Nice' )); $gridField->setAttribute( diff --git a/code/controllers/CMSMain.php b/code/controllers/CMSMain.php index 804c489a..1f915506 100644 --- a/code/controllers/CMSMain.php +++ b/code/controllers/CMSMain.php @@ -676,7 +676,8 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr new GridFieldPaginator(15) ); $gridField = new GridField('Page','Pages', $list, $gridFieldConfig); - + $columns = $gridField->getConfig()->getComponentByType('GridFieldDataColumns'); + // Don't allow navigating into children nodes on filtered lists if($params){ $gridField->setDisplayFields(array( @@ -685,7 +686,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr 'LastEdited' => _t('SiteTree.LASTUPDATED', 'Last Updated'), )); }else{ - $gridField->setDisplayFields(array( + $columns->setDisplayFields(array( 'listChildrenLink' => "", 'getTreeTitle' => _t('SiteTree.PAGETITLE', 'Page Title'), 'Created' => _t('SiteTree.CREATED', 'Date Created'), @@ -693,13 +694,13 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr )); } - $gridField->setFieldCasting(array( + $columns->setFieldCasting(array( 'Created' => 'Date->Ago', 'LastEdited' => 'Date->Ago', )); $controller = $this; - $gridField->setFieldFormatting(array( + $columns->setFieldFormatting(array( 'listChildrenLink' => function(&$item) use($controller) { $num = $item->numChildren(); if($num) { diff --git a/code/controllers/ReportAdmin.php b/code/controllers/ReportAdmin.php index 5b3ae140..10dd5c43 100644 --- a/code/controllers/ReportAdmin.php +++ b/code/controllers/ReportAdmin.php @@ -162,6 +162,7 @@ class ReportAdmin extends LeftAndMain implements PermissionProvider { new GridFieldExportButton() ); $gridField = new GridField('Report',$report->title(), $report->sourceRecords(array(), null, null), $gridFieldConfig); + $columns = $gridField->getConfig()->getComponentByType('GridFieldDataColumns'); $displayFields = array(); $fieldCasting = array(); $fieldFormatting = array(); @@ -181,9 +182,9 @@ class ReportAdmin extends LeftAndMain implements PermissionProvider { $displayFields[$source] = isset($info['title']) ? $info['title'] : $source; } - $gridField->setDisplayFields($displayFields); - $gridField->setFieldCasting($fieldCasting); - $gridField->setFieldFormatting($fieldFormatting); + $columns->setDisplayFields($displayFields); + $columns->setFieldCasting($fieldCasting); + $columns->setFieldFormatting($fieldFormatting); $fields->push($gridField); } else { @@ -195,10 +196,11 @@ class ReportAdmin extends LeftAndMain implements PermissionProvider { new GridFieldFooter() ); $gridField = new GridField('Reports','Reports', $this->Reports(), $gridFieldConfig); - $gridField->setDisplayFields(array( + $columns = $gridField->getConfig()->getComponentByType('GridFieldDataColumns'); + $columns->setDisplayFields(array( 'title' => 'Title', )); - $gridField->setFieldFormatting(array( + $columns->setFieldFormatting(array( 'title' => '$value' )); $gridField->addExtraClass('all-reports-gridfield');