summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Model/TaskFilter.php3
-rw-r--r--app/Model/TaskLink.php6
-rw-r--r--tests/units/TaskFilterTest.php19
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);
+ }
+}