| | <?php |
| |
|
| | namespace Kanboard\Model; |
| |
|
| | use Kanboard\Core\Base; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | class CustomFilterModel extends Base |
| | { |
| | |
| | |
| | |
| | |
| | |
| | const TABLE = 'custom_filters'; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getAll($project_id, $user_id) |
| | { |
| | return $this->db |
| | ->table(self::TABLE) |
| | ->columns( |
| | UserModel::TABLE.'.name as owner_name', |
| | UserModel::TABLE.'.username as owner_username', |
| | self::TABLE.'.id', |
| | self::TABLE.'.user_id', |
| | self::TABLE.'.project_id', |
| | self::TABLE.'.filter', |
| | self::TABLE.'.name', |
| | self::TABLE.'.is_shared', |
| | self::TABLE.'.append' |
| | ) |
| | ->asc(self::TABLE.'.name') |
| | ->join(UserModel::TABLE, 'id', 'user_id') |
| | ->beginOr() |
| | ->eq('is_shared', 1) |
| | ->eq('user_id', $user_id) |
| | ->closeOr() |
| | ->eq('project_id', $project_id) |
| | ->findAll(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getById($filter_id) |
| | { |
| | return $this->db->table(self::TABLE)->eq('id', $filter_id)->findOne(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function create(array $values) |
| | { |
| | return $this->db->table(self::TABLE)->persist($values); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function update(array $values) |
| | { |
| | $updates = $values; |
| | unset($updates['id']); |
| | return $this->db->table(self::TABLE) |
| | ->eq('id', $values['id']) |
| | ->update($updates); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function remove($filter_id) |
| | { |
| | return $this->db->table(self::TABLE)->eq('id', $filter_id)->remove(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function duplicate($src_project_id, $dst_project_id) |
| | { |
| | $filters = $this->db |
| | ->table(self::TABLE) |
| | ->columns( |
| | self::TABLE.'.user_id', |
| | self::TABLE.'.filter', |
| | self::TABLE.'.name', |
| | self::TABLE.'.is_shared', |
| | self::TABLE.'.append' |
| | ) |
| | ->eq('project_id', $src_project_id) |
| | ->findAll(); |
| |
|
| | foreach ($filters as $filter) { |
| | $filter['project_id'] = $dst_project_id; |
| | |
| | $filter['is_shared'] = $filter['is_shared'] ?: 0; |
| | $filter['append'] = $filter['append'] ?: 0; |
| |
|
| | if (! $this->db->table(self::TABLE)->save($filter)) { |
| | return false; |
| | } |
| | } |
| |
|
| | return true; |
| | } |
| | } |
| |
|