/** * @return array */ public function fields() { // Prefix tag groups with "tag:" $tagGroups = (new Model\Tag())->groupsDropdown(); // Array of sort optins $sort = ['updated' => trans('tinyissue.updated')] + $tagGroups; // Array of project users $assignTo = [0 => trans('tinyissue.allusers')] + $this->project->users()->get()->lists('fullname', 'id')->all(); // On submit, generate list of selected tags to populate the field if (Request::has('tags')) { $selectTags = (new Model\Tag())->tagsToJson(Request::input('tags')); } else { $selectTags = ''; } $fields = ['keyword' => ['type' => 'text', 'placeholder' => trans('tinyissue.keywords'), 'onGroupAddClass' => 'toolbar-item first'], 'tags' => ['type' => 'text', 'placeholder' => trans('tinyissue.tags'), 'multiple' => true, 'class' => 'tagit', 'data_tokens' => htmlentities($selectTags, ENT_QUOTES), 'onGroupAddClass' => 'toolbar-item'], 'sort' => ['type' => 'groupField', 'onGroupAddClass' => 'toolbar-item', 'fields' => ['sortby' => ['type' => 'select', 'placeholder' => trans('tinyissue.sortby'), 'options' => $sort, 'onGroupClass' => 'control-inline control-sortby'], 'sortorder' => ['type' => 'select', 'options' => ['asc' => trans('tinyissue.sort_asc'), 'desc' => trans('tinyissue.sort_desc')], 'onGroupClass' => 'control-inline control-sortorder']]], 'assignto' => ['type' => 'select', 'placeholder' => trans('tinyissue.assigned_to'), 'options' => $assignTo, 'onGroupAddClass' => 'toolbar-item last']]; return $fields; }
/** * Returns assigned to field * * @return array */ protected function fieldAssignedTo() { return ['assigned_to' => ['type' => 'select', 'label' => 'assigned_to', 'options' => [0 => ''] + $this->project->users()->get()->lists('fullname', 'id')->all(), 'value' => (int) $this->project->default_assignee]]; }