1 | <?php |
||
22 | class Project extends FormAbstract |
||
23 | { |
||
24 | /** |
||
25 | * @return array |
||
26 | */ |
||
27 | 3 | public function actions() |
|
46 | |||
47 | /** |
||
48 | * @return array |
||
49 | */ |
||
50 | 3 | public function fields() |
|
51 | { |
||
52 | $fields = [ |
||
53 | 'name' => [ |
||
54 | 3 | 'type' => 'text', |
|
55 | 3 | 'label' => 'name', |
|
56 | 3 | ], |
|
57 | 'private' => [ |
||
58 | 3 | 'type' => 'select', |
|
59 | 3 | 'label' => 'visibility', |
|
60 | 3 | 'options' => [ProjectModel::PRIVATE_YES => trans('tinyissue.private'), ProjectModel::PRIVATE_NO => trans('tinyissue.public')], |
|
61 | 3 | ], |
|
62 | 'default_assignee' => [ |
||
63 | 3 | 'type' => 'hidden', |
|
64 | 3 | 'id' => 'default_assignee-id', |
|
65 | 3 | ], |
|
66 | 3 | ]; |
|
67 | |||
68 | // On create project can assign users |
||
69 | // On edit project can change status or default assignee |
||
70 | 3 | if (!$this->isEditing()) { |
|
71 | 1 | $fields['user'] = [ |
|
72 | 1 | 'type' => 'selectUser', |
|
73 | 1 | 'label' => 'assign_users', |
|
74 | 1 | 'id' => 'add-user-project', |
|
75 | 1 | 'placeholder' => trans('tinyissue.assign_a_user'), |
|
76 | ]; |
||
77 | 1 | } else { |
|
78 | 2 | $fields['status'] = [ |
|
79 | 2 | 'type' => 'select', |
|
80 | 2 | 'label' => 'status', |
|
81 | 2 | 'options' => [ProjectModel::STATUS_OPEN => trans('tinyissue.open'), ProjectModel::STATUS_ARCHIVED => trans('tinyissue.archived')], |
|
82 | ]; |
||
83 | 2 | $fields['default_assignee'] = [ |
|
84 | 2 | 'type' => 'select', |
|
85 | 2 | 'label' => 'default_assignee', |
|
86 | 2 | 'options' => [0 => ''] + $this->getModel()->usersCanFixIssue()->get()->lists('fullname', 'id')->all(), |
|
87 | ]; |
||
88 | } |
||
89 | |||
90 | 3 | $fields['kanban_board'] = [ |
|
91 | 3 | 'type' => 'legend', |
|
92 | ]; |
||
93 | |||
94 | 3 | $statusTags = (new TagModel())->getStatusTags()->get()->implode('fullname', ', '); |
|
|
|||
95 | 3 | if ($this->isEditing()) { |
|
96 | $selectTags = $this->getModel()->kanbanTags()->get()->filter(function (TagModel $tag) { |
||
97 | return !($tag->name == TagModel::STATUS_OPEN || $tag->name == TagModel::STATUS_CLOSED); |
||
98 | 2 | })->map(function (TagModel $tag) { |
|
99 | return [ |
||
100 | 'value' => $tag->id, |
||
101 | 'label' => ($tag->fullname), |
||
102 | 'bgcolor' => $tag->bgcolor, |
||
103 | ]; |
||
104 | 2 | })->toJson(); |
|
105 | 2 | } else { |
|
106 | 1 | $selectTags = (new TagModel())->tagsToJson(\Request::input('tags')); |
|
107 | } |
||
108 | 3 | $fields['columns'] = [ |
|
109 | 3 | 'type' => 'text', |
|
110 | 3 | 'label' => 'columns', |
|
111 | 3 | 'placeholder' => trans('tinyissue.tags'), |
|
112 | 3 | 'multiple' => true, |
|
113 | 3 | 'class' => 'tagit', |
|
114 | 3 | 'help' => trans('tinyissue.columns_help', ['status' => $statusTags]), |
|
115 | 3 | 'data_tokens' => htmlentities($selectTags, ENT_QUOTES), |
|
116 | ]; |
||
117 | |||
118 | 3 | return $fields; |
|
119 | } |
||
120 | |||
121 | /** |
||
122 | * @return array |
||
123 | */ |
||
124 | 3 | public function rules() |
|
133 | |||
134 | /** |
||
135 | * @return string |
||
136 | */ |
||
137 | public function getRedirectUrl() |
||
145 | } |
||
146 |
This check looks for function calls that miss required arguments.