diff options
Diffstat (limited to 'app/Controller')
-rw-r--r-- | app/Controller/App.php | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/app/Controller/App.php b/app/Controller/App.php index 6eab2bcd..11e3915c 100644 --- a/app/Controller/App.php +++ b/app/Controller/App.php @@ -23,33 +23,43 @@ class App extends Base } /** + * 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)) |