From 5548c66a49d65137a921a7038c2d9e10da0faa05 Mon Sep 17 00:00:00 2001 From: Normann Lou Date: Fri, 2 Mar 2012 16:03:23 +1300 Subject: [PATCH] ENHANCEMENT SSF-53 reordering the components that added to group GridField in CMS so that it appears same as the landing view of SecurityAdmin --- forms/gridfield/GridFieldConfig.php | 2 +- security/Group.php | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/forms/gridfield/GridFieldConfig.php b/forms/gridfield/GridFieldConfig.php index 23510a005..61d9f4201 100755 --- a/forms/gridfield/GridFieldConfig.php +++ b/forms/gridfield/GridFieldConfig.php @@ -134,9 +134,9 @@ class GridFieldConfig_ManyManyEditor extends GridFieldConfig { * @param int $itemsPerPage - How many items per page should show up */ public function __construct($fieldToSearch, $itemsPerPage=15) { - $this->addComponent(new GridFieldFilter()); $this->addComponent(new GridFieldRelationAdd($fieldToSearch)); $this->addComponent(new GridFieldSortableHeader()); + $this->addComponent(new GridFieldFilter()); $this->addComponent(new GridFieldDefaultColumns()); $this->addComponent(new GridFieldAction_Edit()); $this->addComponent(new GridFieldRelationDelete()); diff --git a/security/Group.php b/security/Group.php index f70573edd..02d10c996 100755 --- a/security/Group.php +++ b/security/Group.php @@ -61,8 +61,13 @@ class Group extends DataObject { public function getCMSFields() { Requirements::javascript(SAPPHIRE_DIR . '/javascript/PermissionCheckboxSetField.js'); - $config = new GridFieldConfig_ManyManyEditor('FirstName', 20); - $config->addComponents(new GridFieldExporter(), new GridFieldTitle()); + $config = new GridFieldConfig(); + $config->addComponent(new GridFieldTitle()); + $configs = new GridFieldConfig_ManyManyEditor('FirstName', 20); + $components = $configs->getComponents(); + foreach($components as $component) $config->addComponent($component); + $config->addComponents(new GridFieldExporter()); + $config->getComponentByType('GridFieldRelationAdd') ->setResultsFormat('$Title ($Email)')->setSearchFields(array('FirstName', 'Surname', 'Email')); $memberList = new GridField('Members','Members', $this->Members(), $config);