From 05fb6553471025af8bb090cd812651816c1c59fc Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Wed, 26 Aug 2015 22:47:31 -0400 Subject: Move tasks Gantt chart --- app/Controller/Gantt.php | 14 ++++++-------- app/Model/TaskFilter.php | 34 +--------------------------------- app/Template/app/filters_helper.php | 2 +- app/Template/board/task_footer.php | 2 +- app/Template/config/about.php | 2 ++ app/Template/gantt/project.php | 24 +++++++----------------- app/Template/project/dropdown.php | 4 ---- app/Template/project/filters.php | 6 ++++++ app/common.php | 3 --- 9 files changed, 24 insertions(+), 67 deletions(-) (limited to 'app') diff --git a/app/Controller/Gantt.php b/app/Controller/Gantt.php index f73501c3..a2d3f363 100644 --- a/app/Controller/Gantt.php +++ b/app/Controller/Gantt.php @@ -56,23 +56,21 @@ class Gantt extends Base */ public function project() { - $project = $this->getProject(); + $params = $this->getProjectFilters('gantt', 'project'); + $filter = $this->taskFilter->search($params['filters']['search'])->filterByProject($params['project']['id']); $sorting = $this->request->getStringParam('sorting', 'board'); - $filter = $this->taskFilter->gantt()->filterByProject($project['id']); if ($sorting === 'date') { - $filter->query->asc(TaskModel::TABLE.'.date_started')->asc(TaskModel::TABLE.'.date_creation'); + $filter->getQuery()->asc(TaskModel::TABLE.'.date_started')->asc(TaskModel::TABLE.'.date_creation'); } else { - $filter->query->asc('column_position')->asc(TaskModel::TABLE.'.position'); + $filter->getQuery()->asc('column_position')->asc(TaskModel::TABLE.'.position'); } - $this->response->html($this->template->layout('gantt/project', array( + $this->response->html($this->template->layout('gantt/project', $params + array( + 'users_list' => $this->projectPermission->getMemberList($params['project']['id'], false), 'sorting' => $sorting, 'tasks' => $filter->toGanttBars(), - 'project' => $project, - 'title' => t('Gantt chart for %s', $project['name']), - 'board_selector' => $this->projectPermission->getAllowedProjects($this->userSession->getId()), ))); } diff --git a/app/Model/TaskFilter.php b/app/Model/TaskFilter.php index d72af68c..89ad9aa4 100644 --- a/app/Model/TaskFilter.php +++ b/app/Model/TaskFilter.php @@ -86,38 +86,6 @@ class TaskFilter extends Base return $this; } - /** - * Prepare filter for Gantt chart - * - * @access public - * @return TaskFilter - */ - public function gantt() - { - $this->query = $this->db->table(Task::TABLE); - $this->query->join(Board::TABLE, 'id', 'column_id', Task::TABLE); - $this->query->join(User::TABLE, 'id', 'owner_id', Task::TABLE); - - $this->query->columns( - Task::TABLE.'.id', - Task::TABLE.'.title', - Task::TABLE.'.project_id', - Task::TABLE.'.column_id', - Task::TABLE.'.color_id', - Task::TABLE.'.date_started', - Task::TABLE.'.date_due', - Task::TABLE.'.date_creation', - Task::TABLE.'.is_active', - Task::TABLE.'.position', - Board::TABLE.'.position AS column_position', - Board::TABLE.'.title AS column_title', - User::TABLE.'.name AS assignee_name', - User::TABLE.'.username AS assignee_username' - ); - - return $this; - } - /** * Create a new query * @@ -739,7 +707,7 @@ class TaskFilter extends Base (int) date('n', $end), (int) date('j', $end), ), - 'column_title' => $task['column_title'], + 'column_title' => $task['column_name'], 'assignee' => $task['assignee_name'] ?: $task['assignee_username'], 'progress' => $this->task->getProgress($task, $columns[$task['project_id']]).'%', 'link' => $this->helper->url->href('task', 'show', array('project_id' => $task['project_id'], 'task_id' => $task['id'])), diff --git a/app/Template/app/filters_helper.php b/app/Template/app/filters_helper.php index e5aea82b..b7a0bba6 100644 --- a/app/Template/app/filters_helper.php +++ b/app/Template/app/filters_helper.php @@ -1,7 +1,7 @@ diff --git a/app/Template/config/about.php b/app/Template/config/about.php index c55233f4..e0652a2f 100644 --- a/app/Template/config/about.php +++ b/app/Template/config/about.php @@ -57,6 +57,7 @@
  • = v b
  • = v c
  • = v l
  • +
  • = v g