Moo_EditableFieldOption   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 4
dl 0
loc 47
ccs 0
cts 10
cp 0
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getCMSFields() 0 8 1
A canEdit() 0 4 1
A canDelete() 0 4 1
A getEscapedTitle() 0 4 1
1
<?php
2
3
/**
4
 * Moo_EditableFieldOption is is a base class for fields used in dropdown or checkbox groups.
5
 *
6
 * @package editablefield
7
 *
8
 * @author  Mohamed Alsharaf <[email protected]>
9
 *
10
 * @method Moo_EditableFieldMultipleOption Parent()
11
 *
12
 * @property int    $ParentID
13
 * @property string $Title
14
 * @property string $Default
15
 * @property int    $Sort
16
 */
17
class Moo_EditableFieldOption extends DataObject
18
{
19
    private static $default_sort = 'Sort';
20
    private static $db           = [
21
        'Name'    => 'Varchar(255)',
22
        'Title'   => 'Varchar(255)',
23
        'Default' => 'Boolean',
24
        'Sort'    => 'Int',
25
    ];
26
    private static $has_one = [
27
        'Parent' => 'Moo_EditableFieldMultipleOption',
28
    ];
29
30
    public function getCMSFields()
31
    {
32
        $fields = parent::getCMSFields();
33
34
        $fields->removeByName(['Sort', 'ParentID']);
35
36
        return $fields;
37
    }
38
39
    /**
40
     * @param Member $member
41
     *
42
     * @return bool
43
     */
44
    public function canEdit($member = null)
45
    {
46
        return ($this->Parent()->canEdit($member));
47
    }
48
49
    /**
50
     * @param Member $member
51
     *
52
     * @return bool
53
     */
54
    public function canDelete($member = null)
55
    {
56
        return ($this->Parent()->canDelete($member));
57
    }
58
59
    public function getEscapedTitle()
60
    {
61
        return Convert::raw2att($this->Title);
62
    }
63
}
64