Add user dashboard view

This commit is contained in:
Frederic Guillot
2015-02-04 22:05:41 -05:00
parent 24300f828a
commit 2d070627d7
17 changed files with 36 additions and 5 deletions

View File

@@ -22,34 +22,44 @@ class App extends Base
$this->response->text('OK');
}
/**
* User dashboard view for admins
*
* @access public
*/
public function dashboard()
{
$this->index($this->request->getIntegerParam('user_id'), 'dashboard');
}
/**
* Dashboard for the current user
*
* @access public
*/
public function index()
public function index($user_id = 0, $action = 'index')
{
$status = array(SubTaskModel::STATUS_TODO, SubTaskModel::STATUS_INPROGRESS);
$user_id = $this->userSession->getId();
$user_id = $user_id ?: $this->userSession->getId();
$projects = $this->projectPermission->getActiveMemberProjects($user_id);
$project_ids = array_keys($projects);
$task_paginator = $this->paginator
->setUrl('app', 'index', array('pagination' => 'tasks'))
->setUrl('app', $action, array('pagination' => 'tasks'))
->setMax(10)
->setOrder('tasks.id')
->setQuery($this->taskFinder->getUserQuery($user_id))
->calculateOnlyIf($this->request->getStringParam('pagination') === 'tasks');
$subtask_paginator = $this->paginator
->setUrl('app', 'index', array('pagination' => 'subtasks'))
->setUrl('app', $action, array('pagination' => 'subtasks'))
->setMax(10)
->setOrder('tasks.id')
->setQuery($this->subTask->getUserQuery($user_id, $status))
->calculateOnlyIf($this->request->getStringParam('pagination') === 'subtasks');
$project_paginator = $this->paginator
->setUrl('app', 'index', array('pagination' => 'projects'))
->setUrl('app', $action, array('pagination' => 'projects'))
->setMax(10)
->setOrder('name')
->setQuery($this->project->getQueryColumnStats($project_ids))