added getProjectActivity + getOverdueTasks to API

This commit is contained in:
BlueTeck
2015-02-09 20:01:01 +01:00
committed by Frederic Guillot
parent 45b3cb0ccc
commit 3704e33c66
2 changed files with 21 additions and 6 deletions

View File

@@ -56,11 +56,13 @@ class ProjectActivity extends Base
* @access public * @access public
* @param integer $project_id Project id * @param integer $project_id Project id
* @param integer $limit Maximum events number * @param integer $limit Maximum events number
* @param integer $start Timestamp of earliest activity
* @param integer $end Timestamp of latest activity
* @return array * @return array
*/ */
public function getProject($project_id, $limit = 50) public function getProject($project_id, $limit = 50, $start = null, $end = null)
{ {
return $this->getProjects(array($project_id), $limit); return $this->getProjects(array($project_id), $limit, $start = null, $end = null);
} }
/** /**
@@ -69,15 +71,17 @@ class ProjectActivity extends Base
* @access public * @access public
* @param integer[] $project_ids Projects id * @param integer[] $project_ids Projects id
* @param integer $limit Maximum events number * @param integer $limit Maximum events number
* @param integer $start Timestamp of earliest activity
* @param integer $end Timestamp of latest activity
* @return array * @return array
*/ */
public function getProjects(array $project_ids, $limit = 50) public function getProjects(array $project_ids, $limit = 50, $start = null, $end = null)
{ {
if (empty($project_ids)) { if (empty($project_ids)) {
return array(); return array();
} }
$events = $this->db->table(self::TABLE) $query = $this->db->table(self::TABLE)
->columns( ->columns(
self::TABLE.'.*', self::TABLE.'.*',
User::TABLE.'.username AS author_username', User::TABLE.'.username AS author_username',
@@ -86,8 +90,17 @@ class ProjectActivity extends Base
->in('project_id', $project_ids) ->in('project_id', $project_ids)
->join(User::TABLE, 'id', 'creator_id') ->join(User::TABLE, 'id', 'creator_id')
->desc(self::TABLE.'.id') ->desc(self::TABLE.'.id')
->limit($limit) ->limit($limit);
->findAll();
if(!is_null($start)){
$query->gte('date_creation', $start);
}
if(!is_null($end)){
$query->lte('date_creation', $end);
}
$events = $query->findAll();
foreach ($events as &$event) { foreach ($events as &$event) {

View File

@@ -20,6 +20,7 @@ $server->bind('enableProject', $container['project'], 'enable');
$server->bind('disableProject', $container['project'], 'disable'); $server->bind('disableProject', $container['project'], 'disable');
$server->bind('enableProjectPublicAccess', $container['project'], 'enablePublicAccess'); $server->bind('enableProjectPublicAccess', $container['project'], 'enablePublicAccess');
$server->bind('disableProjectPublicAccess', $container['project'], 'disablePublicAccess'); $server->bind('disableProjectPublicAccess', $container['project'], 'disablePublicAccess');
$server->bind('getProjectActivity', $container['projectActivity'], 'getProjects');
$server->register('createProject', function($name) use ($container) { $server->register('createProject', function($name) use ($container) {
$values = array('name' => $name); $values = array('name' => $name);
@@ -71,6 +72,7 @@ $server->bind('allowUser', $container['projectPermission'], 'addMember');
*/ */
$server->bind('getTask', $container['taskFinder'], 'getById'); $server->bind('getTask', $container['taskFinder'], 'getById');
$server->bind('getAllTasks', $container['taskFinder'], 'getAll'); $server->bind('getAllTasks', $container['taskFinder'], 'getAll');
$server->bind('getOverdueTasks', $container['taskFinder'], 'getOverdueTasks');
$server->bind('openTask', $container['taskStatus'], 'open'); $server->bind('openTask', $container['taskStatus'], 'open');
$server->bind('closeTask', $container['taskStatus'], 'close'); $server->bind('closeTask', $container['taskStatus'], 'close');
$server->bind('removeTask', $container['task'], 'remove'); $server->bind('removeTask', $container['task'], 'remove');