| <?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; |
| } |
| } |
|
|