Add user calendar view on the dashboard and in the user management section

This commit is contained in:
Frederic Guillot
2015-02-08 16:13:05 -05:00
parent acf3941b4a
commit 92509c43c4
26 changed files with 182 additions and 43 deletions

View File

@@ -68,10 +68,11 @@ class App extends Base
$this->response->html($this->template->layout('app/dashboard', array(
'title' => t('Dashboard'),
'board_selector' => $this->projectPermission->getAllowedProjects($user_id),
'events' => $this->projectActivity->getProjects($project_ids, 10),
'events' => $this->projectActivity->getProjects($project_ids, 5),
'task_paginator' => $task_paginator,
'subtask_paginator' => $subtask_paginator,
'project_paginator' => $project_paginator,
'user_id' => $user_id,
)));
}

View File

@@ -2,6 +2,8 @@
namespace Controller;
use Model\Task;
/**
* Project Calendar controller
*
@@ -35,7 +37,7 @@ class Calendar extends Base
}
/**
* Get tasks to display on the calendar
* Get tasks to display on the calendar (project view)
*
* @access public
*/
@@ -52,8 +54,30 @@ class Calendar extends Base
->filterByColor($this->request->getStringParam('color_id'))
->filterByStatus($this->request->getIntegerParam('is_active', -1))
->filterByDueDateRange(
$this->request->getStringParam('start'),
$this->request->getStringParam('end')
$this->request->getStringParam('start'),
$this->request->getStringParam('end')
)
->toCalendarEvents()
);
}
/**
* Get tasks to display on the calendar (user view)
*
* @access public
*/
public function user()
{
$user_id = $this->request->getIntegerParam('user_id');
$this->response->json(
$this->taskFilter
->create()
->filterByOwner($user_id)
->filterByStatus(Task::STATUS_OPEN)
->filterByDueDateRange(
$this->request->getStringParam('start'),
$this->request->getStringParam('end')
)
->toCalendarEvents()
);

View File

@@ -189,6 +189,20 @@ class User extends Base
)));
}
/**
* Display user calendar
*
* @access public
*/
public function calendar()
{
$user = $this->getUser();
$this->response->html($this->layout('user/calendar', array(
'user' => $user,
)));
}
/**
* Display timesheet
*