GroupMembersFieldExtension::updateCMSFields()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 11
rs 9.4285
cc 3
eloc 7
nc 3
nop 1
1
<?php namespace StudioBonito\Security\Extensions;
2
3
use FieldList;
4
use GridField;
5
use GridFieldAddExistingSearchButton;
6
7
/**
8
 * Data extension used to override the members gridfield config on group data-objects.
9
 *
10
 * @author       Tom Densham <[email protected]>
11
 * @copyright    Studio Bonito Ltd.
12
 */
13
class GroupMembersFieldExtension extends \DataExtension
14
{
15
    /**
16
     * Override default GridField config to use GridFieldAddExistingAutocompleter.
17
     *
18
     * @param FieldList $fields
19
     */
20
    public function updateCMSFields(FieldList $fields)
21
    {
22
        if (class_exists('GridFieldAddExistingSearchButton')) {
23
            $gridField = $fields->dataFieldByName('Members');
24
            if ($gridField instanceof GridField) {
25
                $gridFieldConfig = $gridField->getConfig();
26
                $gridFieldConfig->removeComponentsByType('GridFieldAddExistingAutocompleter');
27
                $gridFieldConfig->addComponent(new GridFieldAddExistingSearchButton());
28
            }
29
        }
30
    }
31
}
32