#1232 Api changes: new getMyOverdueTasks, new getOverdueTasksByProject, allow getProjectActivity for user-api
This commit is contained in:
@@ -19,6 +19,7 @@ abstract class Base extends \Core\Base
|
||||
'getMyActivityStream',
|
||||
'createMyPrivateProject',
|
||||
'getMyProjectsList',
|
||||
'getMyOverdueTasks',
|
||||
);
|
||||
|
||||
private $both_allowed_procedures = array(
|
||||
@@ -37,6 +38,8 @@ abstract class Base extends \Core\Base
|
||||
'createTask',
|
||||
'updateTask',
|
||||
'getBoard',
|
||||
'getProjectActivity',
|
||||
'getOverdueTasksByProject',
|
||||
);
|
||||
|
||||
public function checkProcedurePermission($is_user, $procedure)
|
||||
|
||||
@@ -52,4 +52,9 @@ class Me extends Base
|
||||
{
|
||||
return $this->projectPermission->getMemberProjects($this->userSession->getId());
|
||||
}
|
||||
|
||||
public function getMyOverdueTasks()
|
||||
{
|
||||
return $this->taskFinder->getOverdueTasksByUser($this->userSession->getId());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +58,7 @@ class Project extends Base
|
||||
|
||||
public function getProjectActivity($project_id)
|
||||
{
|
||||
$this->checkProjectPermission($project_id);
|
||||
return $this->projectActivity->getProject($project_id);
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,12 @@ class Task extends Base
|
||||
{
|
||||
return $this->taskFinder->getOverdueTasks();
|
||||
}
|
||||
|
||||
public function getOverdueTasksByProject($project_id)
|
||||
{
|
||||
$this->checkProjectPermission($project_id);
|
||||
return $this->taskFinder->getOverdueTasksByProject($project_id);
|
||||
}
|
||||
|
||||
public function openTask($task_id)
|
||||
{
|
||||
|
||||
@@ -206,6 +206,70 @@ class TaskFinder extends Base
|
||||
|
||||
return $tasks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list of overdue tasks by project
|
||||
*
|
||||
* @access public
|
||||
* @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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list of overdue tasks by user
|
||||
*
|
||||
* @access public
|
||||
* @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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get project id for a given task
|
||||
|
||||
Reference in New Issue
Block a user