color->getList(); } public function recurrenceTriggers() { return $this->task->getRecurrenceTriggerList(); } public function recurrenceTimeframes() { return $this->task->getRecurrenceTimeframeList(); } public function recurrenceBasedates() { return $this->task->getRecurrenceBasedateList(); } public function canRemove(array $task) { return $this->taskPermission->canRemoveTask($task); } public function selectPriority(array $project, array $values) { $html = ''; if ($project['priority_end'] > $project['priority_start']) { $range = range($project['priority_start'], $project['priority_end']); $options = array_combine($range, $range); $values += array('priority' => $project['priority_default']); $html .= $this->helper->form->label(t('Priority'), 'priority'); $html .= $this->helper->form->select('priority', $options, $values, array(), array('tabindex="7"')); } return $html; } public function formatPriority(array $project, array $task) { $html = ''; if ($project['priority_end'] > $project['priority_start']) { $html .= ''; $html .= $task['priority'] >= 0 ? 'P'.$task['priority'] : '-P'.abs($task['priority']); $html .= ''; } return $html; } public function getProgress($task) { if (! isset($this->columns[$task['project_id']])) { $this->columns[$task['project_id']] = $this->board->getColumnsList($task['project_id']); } return $this->task->getProgress($task, $this->columns[$task['project_id']]); } }