Completed
Push — master ( 59c799...149ad0 )
by Will
02:15
created

ElementalGridFieldAddExistingAutocompleter.php (1 issue)

PSR1 classes have a namespace declaration.

Coding Style Compatibility Minor

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
/**
3
 * This class is is responsible for adding objects to another object's has_many
4
 * and many_many relation, as defined by the {@link RelationList} passed to the
5
 * {@link GridField} constructor.
6
 *
7
 * Objects can be searched through an input field (partially matching one or
8
 * more fields).
9
 *
10
 * Selecting from the results will add the object to the relation.
11
 *
12
 * Often used alongside {@link GridFieldDeleteAction} for detaching existing
13
 * records from a relationship.
14
 *
15
 * For easier setup, have a look at a sample configuration in
16
 * {@link GridFieldConfig_RelationEditor}.
17
 *
18
 * @package forms
19
 * @subpackage fields-gridfield
20
 */
21
class ElementalGridFieldAddExistingAutocompleter extends GridFieldAddExistingAutocompleter {
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
22
23
    /**
24
     * If an object ID is set, add the object to the list
25
     *
26
     * @param GridField $gridField
27
     * @param SS_List $dataList
28
     * @return SS_List
29
     */
30
    public function getManipulatedData(GridField $gridField, SS_List $dataList)
31
    {
32
        $objectID = $gridField->State->GridFieldAddRelation(null);
33
34
        if(empty($objectID)) {
35
            return $dataList;
36
        }
37
38
        $object = DataObject::get_by_id($dataList->dataclass(), $objectID);
39
40
        if($object) {
41
            $virtual = new ElementVirtualLinked();
42
            $virtual->LinkedElementID = $object->ID;
43
            $virtual->write();
44
45
            $dataList->add($virtual);
46
        }
47
48
        $gridField->State->GridFieldAddRelation = null;
49
50
        return $dataList;
51
    }
52
}
53