Add some tests
This commit is contained in:
@@ -19,8 +19,8 @@ abstract class Base extends \Core\Base
|
||||
'getMyActivityStream',
|
||||
'createMyPrivateProject',
|
||||
'getMyProjectsList',
|
||||
'getMyOverdueTasks',
|
||||
'getMyProjects',
|
||||
'getMyOverdueTasks',
|
||||
);
|
||||
|
||||
private $both_allowed_procedures = array(
|
||||
@@ -70,7 +70,7 @@ abstract class Base extends \Core\Base
|
||||
}
|
||||
}
|
||||
|
||||
protected function formatTask($task)
|
||||
protected function formatTask(array $task)
|
||||
{
|
||||
if (! empty($task)) {
|
||||
$task['url'] = $this->helper->url->to('task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']), '', true);
|
||||
@@ -80,7 +80,7 @@ abstract class Base extends \Core\Base
|
||||
return $task;
|
||||
}
|
||||
|
||||
protected function formatTasks($tasks)
|
||||
protected function formatTasks(array $tasks)
|
||||
{
|
||||
if (! empty($tasks)) {
|
||||
foreach ($tasks as &$task) {
|
||||
@@ -91,7 +91,7 @@ abstract class Base extends \Core\Base
|
||||
return $tasks;
|
||||
}
|
||||
|
||||
protected function formatProject($project)
|
||||
protected function formatProject(array $project)
|
||||
{
|
||||
if (! empty($project)) {
|
||||
$project['url'] = array(
|
||||
@@ -104,7 +104,7 @@ abstract class Base extends \Core\Base
|
||||
return $project;
|
||||
}
|
||||
|
||||
protected function formatProjects($projects)
|
||||
protected function formatProjects(array $projects)
|
||||
{
|
||||
if (! empty($projects)) {
|
||||
foreach ($projects as &$project) {
|
||||
|
||||
@@ -33,7 +33,8 @@ class Me extends Base
|
||||
|
||||
public function getMyActivityStream()
|
||||
{
|
||||
return $this->projectActivity->getProjects($this->projectPermission->getActiveMemberProjectIds($this->userSession->getId()), 100);
|
||||
$project_ids = $this->projectPermission->getActiveMemberProjectIds($this->userSession->getId());
|
||||
return $this->projectActivity->getProjects($project_ids, 100);
|
||||
}
|
||||
|
||||
public function createMyPrivateProject($name, $description = null)
|
||||
@@ -52,14 +53,17 @@ class Me extends Base
|
||||
{
|
||||
return $this->projectPermission->getMemberProjects($this->userSession->getId());
|
||||
}
|
||||
|
||||
|
||||
public function getMyOverdueTasks()
|
||||
{
|
||||
return $this->taskFinder->getOverdueTasksByUser($this->userSession->getId());
|
||||
}
|
||||
|
||||
|
||||
public function getMyProjects()
|
||||
{
|
||||
return $this->formatProjects($this->project->getAllByIds($this->projectPermission->getActiveMemberProjectIds($this->userSession->getId())));
|
||||
$project_ids = $this->projectPermission->getActiveMemberProjectIds($this->userSession->getId());
|
||||
$projects = $this->project->getAllByIds($project_ids);
|
||||
|
||||
return $this->formatProjects($projects);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,16 +172,20 @@ class Project extends Base
|
||||
{
|
||||
return $this->db->table(self::TABLE)->asc('name')->findAll();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get all projects with given Ids
|
||||
*
|
||||
* @access public
|
||||
* @param integer[] $project_ids Projects id
|
||||
* @param integer[] $project_ids
|
||||
* @return array
|
||||
*/
|
||||
public function getAllByIds($project_ids)
|
||||
public function getAllByIds(array $project_ids)
|
||||
{
|
||||
if (empty($project_ids)) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return $this->db->table(self::TABLE)->in('id', $project_ids)->asc('name')->findAll();
|
||||
}
|
||||
|
||||
|
||||
@@ -176,6 +176,34 @@ class TaskFinder extends Base
|
||||
->findAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get overdue tasks query
|
||||
*
|
||||
* @access public
|
||||
* @return \PicoDb\Table
|
||||
*/
|
||||
public function getOverdueTasksQuery()
|
||||
{
|
||||
return $this->db->table(Task::TABLE)
|
||||
->columns(
|
||||
Task::TABLE.'.id',
|
||||
Task::TABLE.'.title',
|
||||
Task::TABLE.'.date_due',
|
||||
Task::TABLE.'.project_id',
|
||||
Task::TABLE.'.creator_id',
|
||||
Task::TABLE.'.owner_id',
|
||||
Project::TABLE.'.name AS project_name',
|
||||
User::TABLE.'.username AS assignee_username',
|
||||
User::TABLE.'.name AS assignee_name'
|
||||
)
|
||||
->join(Project::TABLE, 'id', 'project_id')
|
||||
->join(User::TABLE, 'id', 'owner_id')
|
||||
->eq(Project::TABLE.'.is_active', 1)
|
||||
->eq(Task::TABLE.'.is_active', 1)
|
||||
->neq(Task::TABLE.'.date_due', 0)
|
||||
->lte(Task::TABLE.'.date_due', mktime(23, 59, 59));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list of overdue tasks for all projects
|
||||
*
|
||||
@@ -184,91 +212,31 @@ class TaskFinder extends Base
|
||||
*/
|
||||
public function getOverdueTasks()
|
||||
{
|
||||
$tasks = $this->db->table(Task::TABLE)
|
||||
->columns(
|
||||
Task::TABLE.'.id',
|
||||
Task::TABLE.'.title',
|
||||
Task::TABLE.'.date_due',
|
||||
Task::TABLE.'.project_id',
|
||||
Task::TABLE.'.creator_id',
|
||||
Task::TABLE.'.owner_id',
|
||||
Project::TABLE.'.name AS project_name',
|
||||
User::TABLE.'.username AS assignee_username',
|
||||
User::TABLE.'.name AS assignee_name'
|
||||
)
|
||||
->join(Project::TABLE, 'id', 'project_id')
|
||||
->join(User::TABLE, 'id', 'owner_id')
|
||||
->eq(Project::TABLE.'.is_active', 1)
|
||||
->eq(Task::TABLE.'.is_active', 1)
|
||||
->neq(Task::TABLE.'.date_due', 0)
|
||||
->lte(Task::TABLE.'.date_due', mktime(23, 59, 59))
|
||||
->findAll();
|
||||
|
||||
return $tasks;
|
||||
return $this->getOverdueTasksQuery()->findAll();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get a list of overdue tasks by project
|
||||
*
|
||||
* @access public
|
||||
* @param integer $project_id
|
||||
* @return array
|
||||
*/
|
||||
public function getOverdueTasksByProject($project_id)
|
||||
{
|
||||
$tasks = $this->db->table(Task::TABLE)
|
||||
->columns(
|
||||
Task::TABLE.'.id',
|
||||
Task::TABLE.'.title',
|
||||
Task::TABLE.'.date_due',
|
||||
Task::TABLE.'.project_id',
|
||||
Task::TABLE.'.creator_id',
|
||||
Task::TABLE.'.owner_id',
|
||||
Project::TABLE.'.name AS project_name',
|
||||
User::TABLE.'.username AS assignee_username',
|
||||
User::TABLE.'.name AS assignee_name'
|
||||
)
|
||||
->join(Project::TABLE, 'id', 'project_id')
|
||||
->join(User::TABLE, 'id', 'owner_id')
|
||||
->eq(Project::TABLE.'.is_active', 1)
|
||||
->eq(Task::TABLE.'.project_id', $project_id)
|
||||
->eq(Task::TABLE.'.is_active', 1)
|
||||
->neq(Task::TABLE.'.date_due', 0)
|
||||
->lte(Task::TABLE.'.date_due', mktime(23, 59, 59))
|
||||
->findAll();
|
||||
|
||||
return $tasks;
|
||||
return $this->getOverdueTasksQuery()->eq(Task::TABLE.'.project_id', $project_id)->findAll();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get a list of overdue tasks by user
|
||||
*
|
||||
* @access public
|
||||
* @param integer $user_id
|
||||
* @return array
|
||||
*/
|
||||
public function getOverdueTasksByUser($user_id)
|
||||
{
|
||||
$tasks = $this->db->table(Task::TABLE)
|
||||
->columns(
|
||||
Task::TABLE.'.id',
|
||||
Task::TABLE.'.title',
|
||||
Task::TABLE.'.date_due',
|
||||
Task::TABLE.'.project_id',
|
||||
Task::TABLE.'.creator_id',
|
||||
Task::TABLE.'.owner_id',
|
||||
Project::TABLE.'.name AS project_name',
|
||||
User::TABLE.'.username AS assignee_username',
|
||||
User::TABLE.'.name AS assignee_name'
|
||||
)
|
||||
->join(Project::TABLE, 'id', 'project_id')
|
||||
->join(User::TABLE, 'id', 'owner_id')
|
||||
->eq(Project::TABLE.'.is_active', 1)
|
||||
->eq(Task::TABLE.'.owner_id', $user_id)
|
||||
->eq(Task::TABLE.'.is_active', 1)
|
||||
->neq(Task::TABLE.'.date_due', 0)
|
||||
->lte(Task::TABLE.'.date_due', mktime(23, 59, 59))
|
||||
->findAll();
|
||||
|
||||
return $tasks;
|
||||
return $this->getOverdueTasksQuery()->eq(Task::TABLE.'.owner_id', $user_id)->findAll();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user