|
<?php |
|
|
|
namespace Kanboard\Filter; |
|
|
|
use Kanboard\Core\Filter\FilterInterface; |
|
use Kanboard\Model\ProjectActivityModel; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ProjectActivityCreatorFilter extends BaseFilter implements FilterInterface |
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
private $currentUserId = 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function setCurrentUserId($userId) |
|
{ |
|
$this->currentUserId = $userId; |
|
return $this; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getAttributes() |
|
{ |
|
return array('creator'); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function apply() |
|
{ |
|
if ($this->value === 'me') { |
|
$this->query->eq(ProjectActivityModel::TABLE . '.creator_id', $this->currentUserId); |
|
} else { |
|
$this->query->beginOr(); |
|
$this->query->ilike('uc.username', '%'.$this->value.'%'); |
|
$this->query->ilike('uc.name', '%'.$this->value.'%'); |
|
$this->query->closeOr(); |
|
} |
|
} |
|
} |
|
|