Completed
Push — dev ( 6e9976...884ea2 )
by Arnaud
02:47
created

Action::getTitle()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
3
namespace LAG\AdminBundle\Admin;
4
5
use LAG\AdminBundle\Admin\Configuration\ActionConfiguration;
6
use LAG\AdminBundle\Field\Field;
7
8
class Action implements ActionInterface
9
{
10
    /**
11
     * Action name.
12
     *
13
     * @var string
14
     */
15
    protected $name;
16
17
    /**
18
     * Action title.
19
     *
20
     * @var string
21
     */
22
    protected $title;
23
24
    /**
25
     * Fields displayed for this action.
26
     *
27
     * @var Field[]
28
     */
29
    protected $fields = [];
30
31
    /**
32
     * Action permissions.
33
     *
34
     * @var string[]
35
     */
36
    protected $permissions = [];
37
38
    /**
39
     * Configured linked actions to display in this view.
40
     *
41
     * @var array
42
     */
43
    protected $actions = [];
44
45
    /**
46
     * Actions displayed at the bottom of the view.
47
     *
48
     * @var array
49
     */
50
    protected $submitActions = [];
51
52
    /**
53
     * @var ActionConfiguration
54
     */
55
    protected $configuration;
56
57
    /**
58
     * @var array
59
     */
60
    protected $filters = [];
61
62
    /**
63
     * @var string[]
64
     */
65
    protected $batchActions = [];
66
67
    /**
68
     * Action constructor.
69
     *
70
     * @param $actionName
71
     * @param array $actionOptions
72
     * @param ActionConfiguration $configuration
73
     */
74 5
    public function __construct($actionName, array $actionOptions, ActionConfiguration $configuration)
75
    {
76 5
        $this->configuration = $configuration;
77 5
        $this->name = $actionName;
78 5
        $this->title = $actionOptions['title'];
79 5
        $this->permissions = $actionOptions['permissions'];
80 5
        $this->submitActions = $actionOptions['submit_actions'];
81 5
        $this->batchActions = $actionOptions['batch'];
82 5
    }
83
84
    /**
85
     * @return string
86
     */
87 5
    public function getName()
88
    {
89 5
        return $this->name;
90
    }
91
92
    /**
93
     * @return string
94
     */
95 1
    public function getTitle()
96
    {
97 1
        return $this->title;
98
    }
99
100
    /**
101
     * @return Field[]
102
     */
103 1
    public function getFields()
104
    {
105 1
        return $this->fields;
106
    }
107
108
    /**
109
     * Return true if action has a field named $fieldName.
110
     *
111
     * @param string $fieldName
112
     *
113
     * @return bool
114
     */
115
    public function hasField($fieldName)
116
    {
117
        return array_key_exists($fieldName, $this->fields);
118
    }
119
120
    /**
121
     * @param Field[] $fields
122
     */
123
    public function setFields($fields)
124
    {
125
        $this->fields = $fields;
126
    }
127
128
    /**
129
     * @param Field $field
130
     */
131 1
    public function addField(Field $field)
132
    {
133 1
        $this->fields[$field->getName()] = $field;
134 1
    }
135
136
    /**
137
     * @return string[]
138
     */
139 1
    public function getPermissions()
140
    {
141 1
        return $this->permissions;
142
    }
143
144
    /**
145
     * @return Action[]
146
     */
147 1
    public function getActions()
148
    {
149 1
        return $this->actions;
150
    }
151
152
    /**
153
     * @param array $actions
154
     */
155
    public function setActions($actions)
156
    {
157
        $this->actions = $actions;
158
    }
159
160
    /**
161
     * @param Action $action
162
     */
163 1
    public function addAction(Action $action)
164
    {
165 1
        $this->actions[$action->getName()] = $action;
166 1
    }
167
168
    /**
169
     * @return array
170
     */
171
    public function getFilters()
172
    {
173
        return $this->filters;
174
    }
175
176
    /**
177
     * @param array $filters
178
     */
179
    public function setFilters($filters)
180
    {
181
        $this->filters = $filters;
182
    }
183
184
    /**
185
     * @param Filter $filter
186
     */
187 1
    public function addFilter(Filter $filter)
188
    {
189 1
        $this->filters[] = $filter;
190 1
    }
191
192
    /**
193
     * @return array
194
     */
195
    public function getSubmitActions()
196
    {
197
        return $this->submitActions;
198
    }
199
200
    /**
201
     * @param array $submitActions
202
     */
203
    public function setSubmitActions($submitActions)
204
    {
205
        $this->submitActions = $submitActions;
206
    }
207
208
    /**
209
     * @return string[]
210
     */
211
    public function getBatchActions()
212
    {
213
        return $this->batchActions;
214
    }
215
216
    /**
217
     * @param string[] $batchActions
218
     */
219
    public function setBatchActions($batchActions)
220
    {
221
        $this->batchActions = $batchActions;
222
    }
223
224
    /**
225
     * @return ActionConfiguration
226
     */
227 5
    public function getConfiguration()
228
    {
229 5
        return $this->configuration;
230
    }
231
}
232