Passed
Push — master ( ebdfbb...20570e )
by
unknown
02:32
created

code/Model/EditableFormField/EditableCheckbox.php (2 issues)

1
<?php
2
3
namespace SilverStripe\UserForms\Model\EditableFormField;
4
5
use SilverStripe\Forms\CheckboxField;
6
use SilverStripe\UserForms\Model\EditableFormField;
7
8
/**
9
 * EditableCheckbox
10
 *
11
 * A user modifiable checkbox on a UserDefinedForm
12
 *
13
 * @package userforms
14
 */
15
16
class EditableCheckbox extends EditableFormField
17
{
18
    private static $singular_name = 'Checkbox Field';
19
20
    private static $plural_name = 'Checkboxes';
21
22
    protected $jsEventHandler = 'click';
23
24
    private static $db = [
0 ignored issues
show
The private property $db is not used, and could be removed.
Loading history...
25
        'CheckedDefault' => 'Boolean' // from CustomSettings
26
    ];
27
28
    private static $table_name = 'EditableCheckbox';
0 ignored issues
show
The private property $table_name is not used, and could be removed.
Loading history...
29
30
    /**
31
     * @return FieldList
32
     */
33
    public function getCMSFields()
34
    {
35
        $fields = parent::getCMSFields();
36
37
        $fields->replaceField('Default', CheckboxField::create(
38
            "CheckedDefault",
39
            _t('SilverStripe\\UserForms\\Model\\EditableFormField.CHECKEDBYDEFAULT', 'Checked by Default?')
40
        ));
41
42
        return $fields;
43
    }
44
45
    public function getFormField()
46
    {
47
        $field = CheckboxField::create($this->Name, $this->EscapedTitle, $this->CheckedDefault)
48
            ->setFieldHolderTemplate(__CLASS__ . '_holder')
49
            ->setTemplate(__CLASS__);
50
51
        $this->doUpdateFormField($field);
52
53
        return $field;
54
    }
55
56
    public function getValueFromData($data)
57
    {
58
        $value = (isset($data[$this->Name])) ? $data[$this->Name] : false;
59
60
        return ($value)
61
            ? _t('SilverStripe\\UserForms\\Model\\EditableFormField.YES', 'Yes')
62
            : _t('SilverStripe\\UserForms\\Model\\EditableFormField.NO', 'No');
63
    }
64
65
    public function isCheckBoxField()
66
    {
67
        return true;
68
    }
69
}
70