public milestoneSelectOptions ( $valueField = 'id', $status = null, $sort = 'ASC' ) : array[] | ||
return | array[] |
public function milestoneSelectOptions($valueField = 'id', $status = null, $sort = 'ASC')
{
$options = [];
$milestones = Milestone::where('project_id = ?')->setParameter(0, $this->id)->orderBy('display_order', $sort);
if ($status !== null) {
$milestones->andWhere('status = ?')->setParameter(1, $status);
}
foreach ($milestones->execute()->fetchAll() as $milestone) {
$options[] = ['label' => $milestone['name'], 'value' => $milestone[$valueField]];
}
return $options;
}
/** * Returns options for the specific ticket filter. * * @param string $filter * * @return array */ public static function selectOptionsFor($filter, Project $project) { switch ($filter) { // Milestone options case 'milestone': $options = $project->milestoneSelectOptions('slug'); break; // Version options // Version options case 'version': $options = $project->milestoneSelectOptions('slug'); break; // Type options // Type options case 'type': $options = Type::selectOptions('name'); break; // Status options // Status options case 'status': $options = Status::selectOptions('name'); break; // Component options // Component options case 'component': $options = Component::selectOptions($project->id, 'name'); break; // Priority options // Priority options case 'priority': $options = Priority::selectOptions('name'); break; // Severity options // Severity options case 'severity': $options = Severity::selectOptions('name'); break; } return $options; }