Example #1
0
 /**
  * Filter by comments
  *
  * @access public
  * @param  string  $string
  * @return TaskFilter
  */
 public function filterByComment($string)
 {
     $this->query->beginOr();
     $this->query->ilike(Comment::TABLE . '.comment', '%' . $string . '%');
     $this->query->join(Comment::TABLE, 'task_id', 'id');
     $this->query->closeOr();
 }
Example #2
0
 /**
  * Prepare filter for Gantt chart
  *
  * @access public
  * @return TaskFilter
  */
 public function gantt()
 {
     $this->query = $this->db->table(Task::TABLE);
     $this->query->join(Board::TABLE, 'id', 'column_id', Task::TABLE);
     $this->query->join(User::TABLE, 'id', 'owner_id', Task::TABLE);
     $this->query->columns(Task::TABLE . '.id', Task::TABLE . '.title', Task::TABLE . '.project_id', Task::TABLE . '.column_id', Task::TABLE . '.color_id', Task::TABLE . '.date_started', Task::TABLE . '.date_due', Task::TABLE . '.date_creation', Task::TABLE . '.is_active', Task::TABLE . '.position', Board::TABLE . '.position AS column_position', Board::TABLE . '.title AS column_title', User::TABLE . '.name AS assignee_name', User::TABLE . '.username AS assignee_username');
     return $this;
 }
Example #3
0
 /**
  * Filter by category
  *
  * @access public
  * @param  array    $values   List of assignees
  * @return TaskFilter
  */
 public function filterByCategoryName(array $values)
 {
     $this->query->join(Category::TABLE, 'id', 'category_id');
     $this->query->beginOr();
     foreach ($values as $category) {
         if ($category === 'none') {
             $this->query->eq(Task::TABLE . '.category_id', 0);
         } else {
             $this->query->eq(Category::TABLE . '.name', $category);
         }
     }
     $this->query->closeOr();
 }
 /**
  * Filter by username
  *
  * @access public
  * @param  string $input
  * @return ProjectUserRoleFilter
  */
 public function startWithUsername($input)
 {
     $this->query->join(GroupMember::TABLE, 'group_id', 'group_id', ProjectGroupRole::TABLE)->join(User::TABLE, 'id', 'user_id', GroupMember::TABLE)->ilike(User::TABLE . '.username', $input . '%');
     return $this;
 }
 /**
  * Filter by username
  *
  * @access public
  * @param  string $input
  * @return ProjectUserRoleFilter
  */
 public function startWithUsername($input)
 {
     $this->query->join(User::TABLE, 'id', 'user_id')->ilike(User::TABLE . '.username', $input . '%');
     return $this;
 }