FormTestController::Form()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 33
Code Lines 26

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 26
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 33
rs 9.504
1
<?php
2
3
namespace AntonyThorpe\FormFieldAdditionalClasses\Tests;
4
5
use SilverStripe\Control\Controller;
6
use SilverStripe\Control\HTTPRequest;
7
use SilverStripe\Dev\TestOnly;
8
use SilverStripe\Forms\CheckboxField;
9
use SilverStripe\Forms\CompositeField;
10
use SilverStripe\Forms\FieldGroup;
11
use SilverStripe\Forms\FieldList;
12
use SilverStripe\Forms\Form;
13
use SilverStripe\Forms\FormAction;
14
use SilverStripe\Forms\OptionsetField;
15
use SilverStripe\Forms\TextField;
16
use SilverStripe\View\SSViewer;
17
18
class FormTestController extends Controller implements TestOnly
19
{
20
    protected $template = 'BlankPage';
21
22
    public function Link($action = null)
23
    {
24
        return Controller::join_links(
25
            'FormTestController',
26
            $this->getRequest()->latestParam('Action'),
27
            $this->getRequest()->latestParam('ID'),
28
            $action
29
        );
30
    }
31
32
    public function Form()
33
    {
34
        $form = Form::create(
35
            $this,
36
            'Form',
37
            FieldList::create(
38
                TextField::create('Spaceship', 'Spaceship'),
39
                CheckboxField::create('CheckboxFieldExample', 'Checkbox Field Example'),
40
                CompositeField::create(
41
                    TextField::create('CompositeFieldOne', 'Composite Field One'),
42
                    TextField::create('CompositeFieldTwo', 'Composite Field Two'),
43
                )->setTitle('Composite Field Name'),
44
                OptionsetField::create(
45
                    'Accessories',
46
                    'Accessories',
47
                    array(
48
                        'Flying High DVD' => 'Flying High DVD',
49
                        'Zero Gravity Pillow' => 'Zero Gravity Pillow',
50
                        'Rocket Replica' => 'Rocket Replica'
51
                    ),
52
                    'Zero Gravity Pillow'
53
                )->setDescription('Make your selection'),
54
                FieldGroup::create(
55
                    TextField::create('FieldGroupFieldOne', 'FieldGroup Field One'),
56
                    TextField::create('FieldGroupFieldTwo', 'FieldGroup Field Two'),
57
                )->setTitle('Blast Off')
58
                // add any new fields here and then write assertion tests
59
            ),
60
            FieldList::create(
61
                FormAction::create('doSubmit', 'Submit')
62
            )
63
        );
64
        return $form;
65
    }
66
}
67