| <?php |
|
|
| namespace Kanboard\Helper; |
|
|
| use Kanboard\Core\Base; |
| use Kanboard\Filter\ProjectActivityProjectIdFilter; |
| use Kanboard\Filter\ProjectActivityProjectIdsFilter; |
| use Kanboard\Filter\ProjectActivityTaskIdFilter; |
| use Kanboard\Model\ProjectActivityModel; |
|
|
| |
| |
| |
| |
| |
| |
| class ProjectActivityHelper extends Base |
| { |
| |
| |
| |
| |
| |
| |
| |
| public function searchEvents($search) |
| { |
| $projects = $this->projectUserRoleModel->getActiveProjectsByUser($this->userSession->getId()); |
| $events = array(); |
|
|
| if ($search !== '') { |
| $queryBuilder = $this->projectActivityLexer->build($search); |
| $queryBuilder |
| ->withFilter(new ProjectActivityProjectIdsFilter(array_keys($projects))) |
| ->getQuery() |
| ->desc(ProjectActivityModel::TABLE.'.id') |
| ->limit(500) |
| ; |
|
|
| $events = $queryBuilder->format($this->projectActivityEventFormatter); |
| } |
|
|
| return $events; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function getProjectEvents($project_id, $limit = 50) |
| { |
| $queryBuilder = $this->projectActivityQuery |
| ->withFilter(new ProjectActivityProjectIdFilter($project_id)); |
|
|
| $queryBuilder->getQuery() |
| ->desc(ProjectActivityModel::TABLE.'.id') |
| ->limit($limit) |
| ; |
|
|
| return $queryBuilder->format($this->projectActivityEventFormatter); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function getProjectsEvents(array $project_ids, $limit = 50) |
| { |
| $queryBuilder = $this->projectActivityQuery |
| ->withFilter(new ProjectActivityProjectIdsFilter($project_ids)); |
|
|
| $queryBuilder->getQuery() |
| ->desc(ProjectActivityModel::TABLE.'.id') |
| ->limit($limit) |
| ; |
|
|
| return $queryBuilder->format($this->projectActivityEventFormatter); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function getTaskEvents($task_id) |
| { |
| $queryBuilder = $this->projectActivityQuery |
| ->withFilter(new ProjectActivityTaskIdFilter($task_id)); |
|
|
| $queryBuilder->getQuery()->desc(ProjectActivityModel::TABLE.'.id'); |
|
|
| return $queryBuilder->format($this->projectActivityEventFormatter); |
| } |
| } |
|
|