diff options
-rw-r--r-- | app/Model/TaskFilter.php | 3 | ||||
-rw-r--r-- | app/Model/TaskLink.php | 6 | ||||
-rw-r--r-- | tests/units/TaskFilterTest.php | 19 |
3 files changed, 26 insertions, 2 deletions
diff --git a/app/Model/TaskFilter.php b/app/Model/TaskFilter.php index e99f36fb..bd03a8bc 100644 --- a/app/Model/TaskFilter.php +++ b/app/Model/TaskFilter.php @@ -56,6 +56,7 @@ class TaskFilter extends Base { $filter = clone($this); $filter->query = clone($this->query); + $filter->query->condition = clone($this->query->condition); return $filter; } @@ -301,7 +302,7 @@ class TaskFilter extends Base */ public function toAutoCompletion() { - return $this->query->columns('id', 'title')->callback(function(array $results) { + return $this->query->columns(Task::TABLE.'.id', Task::TABLE.'.title')->callback(function(array $results) { foreach ($results as &$result) { $result['value'] = $result['title']; diff --git a/app/Model/TaskLink.php b/app/Model/TaskLink.php index a89e6ca3..7d3a8918 100644 --- a/app/Model/TaskLink.php +++ b/app/Model/TaskLink.php @@ -82,7 +82,11 @@ class TaskLink extends Base ->join(Task::TABLE, 'id', 'opposite_task_id') ->join(Board::TABLE, 'id', 'column_id', Task::TABLE) ->join(User::TABLE, 'id', 'owner_id', Task::TABLE) - ->orderBy(Link::TABLE.'.id ASC, '.Board::TABLE.'.position DESC, '.Task::TABLE.'.is_active DESC, '.Task::TABLE.'.position ASC, '.Task::TABLE.'.id', Table::SORT_ASC) + ->asc(Link::TABLE.'.id') + ->desc(Board::TABLE.'.position') + ->desc(Task::TABLE.'.is_active') + ->asc(Task::TABLE.'.position') + ->asc(Task::TABLE.'.id') ->findAll(); } diff --git a/tests/units/TaskFilterTest.php b/tests/units/TaskFilterTest.php new file mode 100644 index 00000000..1872d429 --- /dev/null +++ b/tests/units/TaskFilterTest.php @@ -0,0 +1,19 @@ +<?php + +require_once __DIR__.'/Base.php'; + +use Model\TaskFilter; + +class TaskFilterTest extends Base +{ + public function testCopy() + { + $tf = new TaskFilter($this->container); + $filter1 = $tf->create(); + $filter2 = $tf->copy(); + + $this->assertTrue($filter1 !== $filter2); + $this->assertTrue($filter1->query !== $filter2->query); + $this->assertTrue($filter1->query->condition !== $filter2->query->condition); + } +} |